hostapd-0.4.8
//madwifi
//20080311
//register the driver
main
register_drivers
madwifi_driver_register(driver_conf.c as configured in configure file)
driver_register
//register signal and process
main
1.1-->hostapd_setup_interface
1.1.1-->hostapd_driver_init
1.1.1.1-->hapd->driver->init(madwifi_init ,file driver_madwifi.c)
1.1.1.1.1 -->l2_packet_init (register ETH_P_EAPOL and handle_read is the l2->rx_callback)
1.1.1.1.1.1--->socket
1.1.1.1.1.2--->eloop_register_read_sock(l2_packet_receive is the hander,which will call l2->rx_callback)
1.1.1.1.2-->l2_packet_init(0x0019,wsc_handle_frames is the l2->rx_callback)
//loop
main
1.1 --> eloop_run
{
1.1.1-->eloop_process_pending_signals
1.1.1.1-->eloop.signals[i].handler (such l2_packet_receive)
1.1.1.1.1-->l2->rx_callback (such as handle_read or wsc_handle_frames)
}
//handle_read in driver_madwifi.c
l2_packet_receive
1.1-->l2->rx_callback (handle_read)
1.1.1 --> ieee802_1x_receive
1.1.1.1--> ap_get_sta
阅读(1235) | 评论(0) | 转发(0) |