mirror of
				https://github.com/pvvx/RTL00MP3.git
				synced 2025-07-31 12:41:06 +00:00 
			
		
		
		
	update
This commit is contained in:
		
							parent
							
								
									ed4c83a935
								
							
						
					
					
						commit
						4cf5fcf936
					
				
					 18 changed files with 3919 additions and 4238 deletions
				
			
		|  | @ -1316,7 +1316,7 @@ void fATST(void *arg) { | |||
| #if 0 | ||||
| #include "wlan_lib.h" | ||||
| #include "hal_com_reg.h" | ||||
| // struct net_device *rltk_wlan_info;
 | ||||
| // extern Rltk_wlan_t rltk_wlan_info[2];
 | ||||
| void fATXT(void *arg) | ||||
| { | ||||
| #if	DEBUG_AT_USER_LEVEL > 3 | ||||
|  |  | |||
|  | @ -233,7 +233,7 @@ uint8_t LwIP_DHCP(uint8_t idx, uint8_t dhcp_state) { | |||
| 				iptab[1] = (uint8_t) (IPaddress >> 16); | ||||
| 				iptab[2] = (uint8_t) (IPaddress >> 8); | ||||
| 				iptab[3] = (uint8_t) (IPaddress); | ||||
| 				printf("Interface %d IP address: %d.%d.%d.%d\n", idx, iptab[3], | ||||
| 				info_printf("Interface %d IP address: %d.%d.%d.%d\n", idx, iptab[3], | ||||
| 						iptab[2], iptab[1], iptab[0]); | ||||
| #if CONFIG_WLAN | ||||
| 				error_flag = RTW_NO_ERROR; | ||||
|  | @ -257,8 +257,8 @@ uint8_t LwIP_DHCP(uint8_t idx, uint8_t dhcp_state) { | |||
| 					iptab[1] = IP_ADDR2; | ||||
| 					iptab[2] = IP_ADDR1; | ||||
| 					iptab[3] = IP_ADDR0; | ||||
| 					printf("Interface %d DHCP timeout\n", idx); | ||||
| 					printf("Static IP address: %d.%d.%d.%d\n", iptab[3], iptab[2], iptab[1], iptab[0]); | ||||
| 					info_printf("Interface %d DHCP timeout\n", idx); | ||||
| 					info_printf("Static IP address: %d.%d.%d.%d\n", iptab[3], iptab[2], iptab[1], iptab[0]); | ||||
| #if CONFIG_WLAN | ||||
| 					error_flag = RTW_DHCP_FAIL; | ||||
| #endif | ||||
|  | @ -280,14 +280,14 @@ uint8_t LwIP_DHCP(uint8_t idx, uint8_t dhcp_state) { | |||
| #if CONFIG_WLAN | ||||
| 			wifi_unreg_event_handler(WIFI_EVENT_BEACON_AFTER_DHCP, wifi_rx_beacon_hdl); | ||||
| #endif | ||||
| 			printf("LwIP_DHCP: Release ip\n"); | ||||
| 			info_printf("LwIP_DHCP(%d): Release ip\n", idx); | ||||
| 			dhcp_release_unicast(pnetif); | ||||
| 			return DHCP_RELEASE_IP; | ||||
| 		case DHCP_STOP: | ||||
| #if CONFIG_WLAN | ||||
| 			wifi_unreg_event_handler(WIFI_EVENT_BEACON_AFTER_DHCP, wifi_rx_beacon_hdl); | ||||
| #endif | ||||
| 			printf("LwIP_DHCP: dhcp stop.\n"); | ||||
| 			info_printf("LwIP_DHCP(%d): dhcp stop.\n", idx); | ||||
| 			dhcp_stop(pnetif); | ||||
| 			return DHCP_STOP; | ||||
| 		default: | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -9,11 +9,11 @@ | |||
|  ******************************************************/ | ||||
| 
 | ||||
| #if CONFIG_DEBUG_LOG > 3 | ||||
| 	#define WIFI_INDICATE_MSG	1 | ||||
| #define WIFI_INDICATE_MSG	1 | ||||
| #else  | ||||
| 	#define WIFI_INDICATE_MSG	0 | ||||
| #define WIFI_INDICATE_MSG	0 | ||||
| #endif | ||||
| #define WIFI_MANAGER_STACKSIZE	1300 | ||||
| #define WIFI_MANAGER_STACKSIZE	400 // 1300
 | ||||
| #define WIFI_MANAGER_PRIORITY		(0) //Actual priority is 4 since calling rtw_create_task
 | ||||
| #define WIFI_MANAGER_Q_SZ	8 | ||||
| 
 | ||||
|  | @ -22,44 +22,47 @@ | |||
|  *                    Globals | ||||
|  ******************************************************/ | ||||
| 
 | ||||
| static event_list_elem_t     event_callback_list[WIFI_EVENT_MAX][WIFI_EVENT_MAX_ROW]; | ||||
| static event_list_elem_t event_callback_list[WIFI_EVENT_MAX][WIFI_EVENT_MAX_ROW]; | ||||
| #if CONFIG_WIFI_IND_USE_THREAD | ||||
| static rtw_worker_thread_t          wifi_worker_thread; | ||||
| static rtw_worker_thread_t wifi_worker_thread; | ||||
| #endif | ||||
| 
 | ||||
| //----------------------------------------------------------------------------//
 | ||||
| #if CONFIG_WIFI_IND_USE_THREAD | ||||
| static rtw_result_t rtw_send_event_to_worker(int event_cmd, char *buf, int buf_len, int flags) | ||||
| { | ||||
| static rtw_result_t rtw_send_event_to_worker(int event_cmd, char *buf, | ||||
| 		int buf_len, int flags) { | ||||
| 	rtw_event_message_t message; | ||||
| 	int i; | ||||
| 	rtw_result_t ret = RTW_SUCCESS; | ||||
| 	char *local_buf = NULL; | ||||
| 	 | ||||
| 	if(event_cmd >= WIFI_EVENT_MAX) | ||||
| 
 | ||||
| 	if (event_cmd >= WIFI_EVENT_MAX) | ||||
| 		return RTW_BADARG; | ||||
| 	 | ||||
| 	for(i = 0; i < WIFI_EVENT_MAX_ROW; i++){ | ||||
| 		if(event_callback_list[event_cmd][i].handler == NULL) | ||||
| 
 | ||||
| 	for (i = 0; i < WIFI_EVENT_MAX_ROW; i++) { | ||||
| 		if (event_callback_list[event_cmd][i].handler == NULL) | ||||
| 			continue; | ||||
| 
 | ||||
| 		message.function = (event_handler_t)event_callback_list[event_cmd][i].handler; | ||||
| 		message.function = | ||||
| 				(event_handler_t) event_callback_list[event_cmd][i].handler; | ||||
| 		message.buf_len = buf_len; | ||||
| 		if(buf_len){ | ||||
| 			local_buf = (char*)pvPortMalloc(buf_len); | ||||
| 			if(local_buf == NULL) | ||||
| 		if (buf_len) { | ||||
| 			local_buf = (char*) pvPortMalloc(buf_len); | ||||
| 			if (local_buf == NULL) | ||||
| 				return RTW_NOMEM; | ||||
| 			memcpy(local_buf, buf, buf_len); | ||||
| 			//printf("\n!!!!!Allocate %p(%d) for evcmd %d\n", local_buf, buf_len, event_cmd);
 | ||||
| 			//debug_printf("Allocate %p(%d) for evcmd %d\n", local_buf, buf_len, event_cmd);
 | ||||
| 		} | ||||
| 		message.buf = local_buf; | ||||
| 		message.flags = flags; | ||||
| 		message.user_data = event_callback_list[event_cmd][i].handler_user_data; | ||||
| 
 | ||||
| 		ret = rtw_push_to_xqueue(&wifi_worker_thread.event_queue, &message, 0); | ||||
| 		if(ret != RTW_SUCCESS){ | ||||
| 			if(local_buf){ | ||||
| 				printf("rtw_send_event_to_worker: enqueue cmd %d failed and free %p(%d)\n", event_cmd, local_buf, buf_len); | ||||
| 		if (ret != RTW_SUCCESS) { | ||||
| 			if (local_buf) { | ||||
| 				warning_printf( | ||||
| 						"rtw_send_event_to_worker: enqueue cmd %d failed and free %p(%d)\n", | ||||
| 						event_cmd, local_buf, buf_len); | ||||
| 				vPortFree(local_buf); | ||||
| 			} | ||||
| 			break; | ||||
|  | @ -72,14 +75,14 @@ static rtw_result_t rtw_indicate_event_handle(int event_cmd, char *buf, int buf_ | |||
| { | ||||
| 	rtw_event_handler_t handle = NULL; | ||||
| 	int i; | ||||
| 	 | ||||
| 
 | ||||
| 	if(event_cmd >= WIFI_EVENT_MAX) | ||||
| 		return RTW_BADARG; | ||||
| 	 | ||||
| 	for(i = 0; i < WIFI_EVENT_MAX_ROW; i++){ | ||||
| 	return RTW_BADARG; | ||||
| 
 | ||||
| 	for(i = 0; i < WIFI_EVENT_MAX_ROW; i++) { | ||||
| 		handle = event_callback_list[event_cmd][i].handler; | ||||
| 		if(handle == NULL) | ||||
| 			continue; | ||||
| 		continue; | ||||
| 		handle(buf, buf_len, flags, event_callback_list[event_cmd][i].handler_user_data); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -91,118 +94,111 @@ static rtw_result_t rtw_indicate_event_handle(int event_cmd, char *buf, int buf_ | |||
| extern gpio_t gpio_led; | ||||
| #endif | ||||
| 
 | ||||
| void wifi_indication( WIFI_EVENT_INDICATE event, char *buf, int buf_len, int flags) | ||||
| { | ||||
| void wifi_indication(WIFI_EVENT_INDICATE event, char *buf, int buf_len, | ||||
| 		int flags) { | ||||
| 	//
 | ||||
| 	// If upper layer application triggers additional operations on receiving of wext_wlan_indicate,
 | ||||
| 	// 		please strictly check current stack size usage (by using uxTaskGetStackHighWaterMark() ) 
 | ||||
| 	//		, and tries not to share the same stack with wlan driver if remaining stack space is 
 | ||||
| 	//		not available for the following operations. 
 | ||||
| 	//		ex: using semaphore to notice another thread.
 | ||||
| 	switch(event) | ||||
| 	{ | ||||
| 		case WIFI_EVENT_DISCONNECT: | ||||
| 	switch (event) { | ||||
| 	case WIFI_EVENT_DISCONNECT: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf(" %s():Disconnection indication received\n", __FUNCTION__); | ||||
| 		info_printf("%s: Disconnection indication received\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_CONNECT: | ||||
| 			// For WPA/WPA2 mode, indication of connection does not mean data can be  
 | ||||
| 			// 		correctly transmitted or received. Data can be correctly transmitted or
 | ||||
| 			// 		received only when 4-way handshake is done. 
 | ||||
| 			// Please check WIFI_EVENT_FOURWAY_HANDSHAKE_DONE event
 | ||||
| 		break; | ||||
| 	case WIFI_EVENT_CONNECT: | ||||
| 		// For WPA/WPA2 mode, indication of connection does not mean data can be
 | ||||
| 		// 		correctly transmitted or received. Data can be correctly transmitted or
 | ||||
| 		// 		received only when 4-way handshake is done.
 | ||||
| 		// Please check WIFI_EVENT_FOURWAY_HANDSHAKE_DONE event
 | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			// Sample: return mac address
 | ||||
| 			if(buf != NULL && buf_len == 6) | ||||
| 			{ | ||||
| 				printf("%s():Connect indication received: %02x:%02x:%02x:%02x:%02x:%02x\n", __FUNCTION__,  | ||||
| 							buf[0],buf[1],buf[2],buf[3],buf[4],buf[5]); | ||||
| 			} | ||||
| 		// Sample: return mac address
 | ||||
| 		if (buf != NULL && buf_len == 6) { | ||||
| 			info_printf( | ||||
| 					"%s: Connect indication received: %02x:%02x:%02x:%02x:%02x:%02x\n", | ||||
| 					__func__, buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]); | ||||
| 		} | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_FOURWAY_HANDSHAKE_DONE: | ||||
| 		break; | ||||
| 	case WIFI_EVENT_FOURWAY_HANDSHAKE_DONE: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			if(buf != NULL)			 | ||||
| 			{ | ||||
| 				if(buf_len == strlen(IW_EXT_STR_FOURWAY_DONE)) | ||||
| 					printf("%s():%s\n", __FUNCTION__, buf); | ||||
| 			} | ||||
| 		if (buf != NULL) | ||||
| 				info_printf("%s: %s\n", __func__, buf); | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_SCAN_RESULT_REPORT: | ||||
| 		break; | ||||
| 	case WIFI_EVENT_SCAN_RESULT_REPORT: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_SCAN_RESULT_REPORT\n", __func__); | ||||
| 		info_printf("%s: WIFI_EVENT_SCAN_RESULT_REPORT\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_SCAN_DONE: | ||||
| 		break; | ||||
| 	case WIFI_EVENT_SCAN_DONE: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_SCAN_DONE\n", __func__); | ||||
| #if CONFIG_DEBUG_LOG > 3 | ||||
| 			printf("Time at start %d ms.\n", xTaskGetTickCount()); | ||||
| 		info_printf("%s: WIFI_EVENT_SCAN_DONE\n", __func__); | ||||
| //#if CONFIG_DEBUG_LOG > 3
 | ||||
| //			debug_printf("Time at start %d ms.\n", xTaskGetTickCount());
 | ||||
| //#endif
 | ||||
| #endif | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_RECONNECTION_FAIL: | ||||
| 		break; | ||||
| 	case WIFI_EVENT_RECONNECTION_FAIL: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			if(buf != NULL){ | ||||
| 				if(buf_len == strlen(IW_EXT_STR_RECONNECTION_FAIL)) | ||||
| 					printf("%s\n", buf); | ||||
| 			} | ||||
| 		info_printf("%s: %s\n", __func__, buf); | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_NO_NETWORK: | ||||
| 		break; | ||||
| 	case WIFI_EVENT_NO_NETWORK: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_NO_NETWORK\n", __func__); | ||||
| 		info_printf("%s: %s\n", __func__, buf); | ||||
| #endif | ||||
| 			break; | ||||
| 		break; | ||||
| #if CONFIG_ENABLE_P2P | ||||
| 		case WIFI_EVENT_SEND_ACTION_DONE: | ||||
| 	case WIFI_EVENT_SEND_ACTION_DONE: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_SEND_ACTION_DONE\n", __func__); | ||||
| 		info_printf("%s: %s\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_RX_MGNT: | ||||
| 		break; | ||||
| 	case WIFI_EVENT_RX_MGNT: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_RX_MGNT\n", __func__); | ||||
| 		info_printf("%s: WIFI_EVENT_RX_MGNT\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		break; | ||||
| #endif //CONFIG_ENABLE_P2P
 | ||||
| 		case WIFI_EVENT_STA_ASSOC: | ||||
| 	case WIFI_EVENT_STA_ASSOC: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_STA_ASSOC\n", __func__); | ||||
| 		info_printf("%s: %s\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		case WIFI_EVENT_STA_DISASSOC: | ||||
| 		break; | ||||
| 	case WIFI_EVENT_STA_DISASSOC: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_STA_DISASSOC\n", __func__); | ||||
| 		info_printf("%s: %s\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		break; | ||||
| #ifdef CONFIG_WPS | ||||
| 		case WIFI_EVENT_STA_WPS_START: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_STA_WPS_START\n", __func__); | ||||
| 		info_printf("%s: WIFI_EVENT_STA_WPS_START\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		break; | ||||
| 		case WIFI_EVENT_WPS_FINISH: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_WPS_FINISH\n", __func__); | ||||
| 		info_printf("%s: WIFI_EVENT_WPS_FINISH\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		break; | ||||
| 		case WIFI_EVENT_EAPOL_RECVD: | ||||
| #if(WIFI_INDICATE_MSG>0) | ||||
| 			printf("%s(): WIFI_EVENT_EAPOL_RECVD\n", __func__); | ||||
| 		info_printf("%s: WIFI_EVENT_EAPOL_RECVD\n", __func__); | ||||
| #endif | ||||
| 			break; | ||||
| 		break; | ||||
| #endif | ||||
| 		case WIFI_EVENT_BEACON_AFTER_DHCP: | ||||
| 	case WIFI_EVENT_BEACON_AFTER_DHCP: | ||||
| #if(WIFI_INDICATE_MSG>1) | ||||
| 			printf("%s(): WIFI_EVENT_BEACON_AFTER_DHCP\n", __func__); | ||||
| 		info_printf("%s: WIFI_EVENT_BEACON_AFTER_DHCP\n", __func__); | ||||
| #endif | ||||
| #if 0 // test beacon
 | ||||
| 			gpio_write(&gpio_led, 1); | ||||
| 			gpio_write(&gpio_led, 0); | ||||
| 		gpio_write(&gpio_led, 1); | ||||
| 		gpio_write(&gpio_led, 0); | ||||
| #endif			 | ||||
| 			break; | ||||
| 		break; | ||||
| 	} | ||||
| 
 | ||||
| #if CONFIG_INIC_EN | ||||
|  | @ -216,31 +212,33 @@ void wifi_indication( WIFI_EVENT_INDICATE event, char *buf, int buf_len, int fla | |||
| #endif | ||||
| } | ||||
| 
 | ||||
| void wifi_reg_event_handler(unsigned int event_cmds, rtw_event_handler_t handler_func, void *handler_user_data) | ||||
| { | ||||
| void wifi_reg_event_handler(unsigned int event_cmds, | ||||
| 		rtw_event_handler_t handler_func, void *handler_user_data) { | ||||
| 	int i = 0, j = 0; | ||||
| 	if(event_cmds < WIFI_EVENT_MAX){ | ||||
| 		for(i=0; i < WIFI_EVENT_MAX_ROW; i++){ | ||||
| 			if(event_callback_list[event_cmds][i].handler == NULL){ | ||||
| 			    for(j=0; j<WIFI_EVENT_MAX_ROW; j++){ | ||||
| 			        if(event_callback_list[event_cmds][j].handler == handler_func){ | ||||
| 			            return; | ||||
| 			        } | ||||
| 			    } | ||||
| 	if (event_cmds < WIFI_EVENT_MAX) { | ||||
| 		for (i = 0; i < WIFI_EVENT_MAX_ROW; i++) { | ||||
| 			if (event_callback_list[event_cmds][i].handler == NULL) { | ||||
| 				for (j = 0; j < WIFI_EVENT_MAX_ROW; j++) { | ||||
| 					if (event_callback_list[event_cmds][j].handler | ||||
| 							== handler_func) { | ||||
| 						return; | ||||
| 					} | ||||
| 				} | ||||
| 				event_callback_list[event_cmds][i].handler = handler_func; | ||||
| 				event_callback_list[event_cmds][i].handler_user_data = handler_user_data; | ||||
| 				event_callback_list[event_cmds][i].handler_user_data = | ||||
| 						handler_user_data; | ||||
| 				return; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void wifi_unreg_event_handler(unsigned int event_cmds, rtw_event_handler_t handler_func) | ||||
| { | ||||
| void wifi_unreg_event_handler(unsigned int event_cmds, | ||||
| 		rtw_event_handler_t handler_func) { | ||||
| 	int i; | ||||
| 	if(event_cmds < WIFI_EVENT_MAX){ | ||||
| 		for(i = 0; i < WIFI_EVENT_MAX_ROW; i++){ | ||||
| 			if(event_callback_list[event_cmds][i].handler == handler_func){ | ||||
| 	if (event_cmds < WIFI_EVENT_MAX) { | ||||
| 		for (i = 0; i < WIFI_EVENT_MAX_ROW; i++) { | ||||
| 			if (event_callback_list[event_cmds][i].handler == handler_func) { | ||||
| 				event_callback_list[event_cmds][i].handler = NULL; | ||||
| 				event_callback_list[event_cmds][i].handler_user_data = NULL; | ||||
| 				return; | ||||
|  | @ -249,23 +247,21 @@ void wifi_unreg_event_handler(unsigned int event_cmds, rtw_event_handler_t handl | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| void init_event_callback_list(){ | ||||
| void init_event_callback_list() { | ||||
| 	memset(event_callback_list, 0, sizeof(event_callback_list)); | ||||
| } | ||||
| 
 | ||||
| int wifi_manager_init() | ||||
| { | ||||
| int wifi_manager_init() { | ||||
| #if CONFIG_WIFI_IND_USE_THREAD | ||||
| 	rtw_create_worker_thread(&wifi_worker_thread,  | ||||
| 							WIFI_MANAGER_PRIORITY,  | ||||
| 							WIFI_MANAGER_STACKSIZE,  | ||||
| 							WIFI_MANAGER_Q_SZ); | ||||
| 	rtw_create_worker_thread(&wifi_worker_thread, | ||||
| 	WIFI_MANAGER_PRIORITY, | ||||
| 	WIFI_MANAGER_STACKSIZE, | ||||
| 	WIFI_MANAGER_Q_SZ); | ||||
| #endif | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| void rtw_wifi_manager_deinit() | ||||
| { | ||||
| void rtw_wifi_manager_deinit() { | ||||
| #if CONFIG_WIFI_IND_USE_THREAD | ||||
| 	rtw_delete_worker_thread(&wifi_worker_thread); | ||||
| #endif | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -7,15 +7,16 @@ | |||
| 
 | ||||
| #include "osdep_service.h" | ||||
| #include "freertos/wrapper.h" | ||||
| #include "rtl_bios_data.h" | ||||
| 
 | ||||
| #define _atr_aligned2_  __attribute__((aligned(2))) | ||||
| #define _atr_aligned4_  __attribute__((aligned(4))) | ||||
| #define _atr_aligned8_  __attribute__((aligned(4))) | ||||
| #define _atr_aligned2_ __attribute__((aligned(2))) | ||||
| #define _atr_aligned4_ __attribute__((aligned(4))) | ||||
| #define _atr_aligned8_ __attribute__((aligned(4))) | ||||
| 
 | ||||
| #define sint8_t char | ||||
| #define sint16_t short | ||||
| #define sint32_t int | ||||
| #define sint64_t long long | ||||
| //#define sint64_t long long // warning align(8)!
 | ||||
| /*
 | ||||
|  struct _ADAPTER; | ||||
|  struct dvobj_priv; | ||||
|  | @ -45,7 +46,7 @@ | |||
| //typedef uint32_t dma_addr_t; // basic_types.h
 | ||||
| //typedef uint8_t uint8_t;
 | ||||
| //typedef uint16_t uint16_t;
 | ||||
| //typedef unsigned sint64_t uint64_t;
 | ||||
| //typedef unsigned sint64_t u8Byte;
 | ||||
| typedef int sint; | ||||
| typedef uint8_t BOOL; | ||||
| typedef uint8_t bool; | ||||
|  | @ -55,6 +56,7 @@ typedef uint8_t u1Byte; | |||
| typedef uint16_t u2Byte; | ||||
| typedef uint32_t u4Byte; | ||||
| typedef uint64_t u8Byte; | ||||
| typedef uint64_t __attribute__((aligned(4))) _u8Byte; | ||||
| typedef sint8_t s1Byte; | ||||
| typedef sint16_t s2Byte; | ||||
| typedef sint32_t s4Byte; | ||||
|  | @ -365,7 +367,6 @@ struct _NDIS_802_11_SSID { | |||
| 	uint32_t SsidLength; | ||||
| 	uint8_t Ssid[36]; | ||||
| }; | ||||
| 
 | ||||
| typedef struct _NDIS_802_11_SSID NDIS_802_11_SSID; | ||||
| typedef uint8_t NDIS_802_11_MAC_ADDRESS[6]; | ||||
| typedef int NDIS_802_11_RSSI; | ||||
|  | @ -545,7 +546,7 @@ struct mlme_priv { | |||
| 	uint8_t key_mask; | ||||
| 	uint8_t acm_mask; | ||||
| 	uint8_t ChannelPlan; | ||||
| 	RT_SCAN_TYPE scan_mode; | ||||
| 	uint8_t scan_mode; // RT_SCAN_TYPE scan_mode; byte/dword ??
 | ||||
| 	uint8_t *wps_probe_req_ie; | ||||
| 	uint32_t wps_probe_req_ie_len; | ||||
| 	uint8_t *wps_assoc_req_ie; | ||||
|  | @ -566,12 +567,12 @@ struct mlme_priv { | |||
| 	_lock bcn_update_lock; | ||||
| 	uint8_t update_bcn; | ||||
| 	uint8_t scanning_via_buddy_intf; | ||||
| 	union recv_frame *p_copy_recv_frame; | ||||
| 	struct recv_frame *p_copy_recv_frame; | ||||
| }; | ||||
| 
 | ||||
| struct _atr_aligned4_ _RT_CHANNEL_INFO { | ||||
| 	uint8_t ChannelNum; | ||||
| 	RT_SCAN_TYPE ScanType; | ||||
| 	RT_SCAN_TYPE ScanType; // uint8_t ScanType; //  byte/dword?
 | ||||
| 	uint8_t pscan_config; | ||||
| }; | ||||
| typedef struct _RT_CHANNEL_INFO RT_CHANNEL_INFO; | ||||
|  | @ -603,22 +604,18 @@ struct WMM_para_element { | |||
| 	struct AC_param ac_param[4]; | ||||
| }; | ||||
| 
 | ||||
| struct _atr_aligned4_ $FE810F6EACF8FAA6CBF1198AEAF43F3A { | ||||
| 	uint16_t HT_caps_info; | ||||
| 	uint8_t AMPDU_para; | ||||
| 	uint8_t MCS_rate[16]; | ||||
| 	uint16_t HT_ext_caps; | ||||
| 	uint32_t Beamforming_caps; | ||||
| 	uint8_t ASEL_caps; | ||||
| }; | ||||
| 
 | ||||
| union $4DB0E692E0E1D0D49E1F34B7B8486D8E { | ||||
| 	struct $FE810F6EACF8FAA6CBF1198AEAF43F3A HT_cap_element; | ||||
| 	uint8_t HT_cap[26]; | ||||
| }; | ||||
| 
 | ||||
| struct HT_caps_element { | ||||
| 	union $4DB0E692E0E1D0D49E1F34B7B8486D8E u; | ||||
| 	union { | ||||
| 		struct  _atr_aligned4_ { | ||||
| 			uint16_t HT_caps_info; | ||||
| 			uint8_t AMPDU_para; | ||||
| 			uint8_t MCS_rate[16]; | ||||
| 			uint16_t HT_ext_caps; | ||||
| 			uint32_t Beamforming_caps; | ||||
| 			uint8_t ASEL_caps; | ||||
| 		} HT_cap_element; | ||||
| 		uint8_t HT_cap[26]; | ||||
| 	}u; | ||||
| }; | ||||
| 
 | ||||
| struct HT_info_element { | ||||
|  | @ -685,8 +682,8 @@ typedef struct _cus_ie{ | |||
| #endif /* _CUS_IE_ */ | ||||
| // typedef struct _cus_ie *p_cus_ie;
 | ||||
| 
 | ||||
| struct _atr_aligned2_ mlme_ext_priv { //__attribute__((packed))?
 | ||||
| 	_adapter *padapter; | ||||
| struct mlme_ext_priv { //__attribute__((packed))?
 | ||||
| 	_adapter *padapter; //+0 padapter+1256 [912]
 | ||||
| 	uint8_t mlmeext_init; | ||||
| 	struct atomic_t event_seq; | ||||
| 	uint16_t mgnt_seq; | ||||
|  | @ -698,15 +695,15 @@ struct _atr_aligned2_ mlme_ext_priv { //__attribute__((packed))? | |||
| 	RT_CHANNEL_INFO channel_set[14]; | ||||
| 	uint8_t basicrate[13]; | ||||
| 	uint8_t datarate[13]; | ||||
| 	struct ss_res sitesurvey_res; | ||||
| 	struct mlme_ext_info mlmext_info; | ||||
| 	struct ss_res sitesurvey_res; //padapter+1472
 | ||||
| 	struct mlme_ext_info mlmext_info; //padapter+1528
 | ||||
| 	_timer survey_timer; | ||||
| 	_timer link_timer; | ||||
| 	uint16_t chan_scan_time; | ||||
| 	uint8_t scan_abort; | ||||
| 	uint8_t tx_rate; | ||||
| 	uint8_t retry; | ||||
| 	uint64_t TSFValue; | ||||
| 	uint16_t chan_scan_time;	//padapter+1984
 | ||||
| 	uint8_t scan_abort;			//padapter+1986
 | ||||
| 	uint8_t tx_rate;			//padapter+1987
 | ||||
| 	uint8_t retry;				//padapter+1988
 | ||||
| 	_u8Byte TSFValue;		//+740?  padapter+1992
 | ||||
| 	uint8_t bstart_bss; | ||||
| 	uint16_t action_public_rxseq; | ||||
| 	_timer reconnect_timer; | ||||
|  | @ -784,11 +781,11 @@ struct _atr_aligned8_ xmit_priv { | |||
| 	uint8_t vcs_setting; | ||||
| 	uint8_t vcs; | ||||
| 	uint8_t vcs_type; | ||||
| 	uint64_t tx_bytes; | ||||
| 	uint64_t tx_pkts; | ||||
| 	uint64_t tx_drop; | ||||
| 	uint64_t last_tx_bytes; | ||||
| 	uint64_t last_tx_pkts; | ||||
| 	u8Byte tx_bytes; | ||||
| 	u8Byte tx_pkts; | ||||
| 	u8Byte tx_drop; | ||||
| 	u8Byte last_tx_bytes; | ||||
| 	u8Byte last_tx_pkts; | ||||
| 	struct hw_xmit *hwxmits; | ||||
| 	uint8_t hwxmit_entry; | ||||
| 	struct rtw_tx_ring tx_ring[8]; | ||||
|  | @ -830,11 +827,11 @@ struct _atr_aligned8_ recv_priv { | |||
| 	uint32_t free_recvframe_cnt; | ||||
| 	_adapter *adapter; | ||||
| 	uint32_t bIsAnyNonBEPkts; | ||||
| 	uint64_t rx_bytes; | ||||
| 	uint64_t rx_pkts; | ||||
| 	uint64_t rx_drop; | ||||
| 	uint64_t rx_overflow; | ||||
| 	uint64_t last_rx_bytes; | ||||
| 	u8Byte rx_bytes; | ||||
| 	u8Byte rx_pkts; | ||||
| 	u8Byte rx_drop; | ||||
| 	u8Byte rx_overflow; | ||||
| 	u8Byte last_rx_bytes; | ||||
| 	uint32_t rx_icv_err; | ||||
| 	uint32_t rx_largepacket_crcerr; | ||||
| 	uint32_t rx_smallpacket_crcerr; | ||||
|  | @ -898,20 +895,20 @@ union Keytype { | |||
| 	uint32_t lkey[4]; | ||||
| }; | ||||
| 
 | ||||
| struct $7EAAF07643C317F97751F130E632CB13 { | ||||
| 	uint8_t TSC0; | ||||
| 	uint8_t TSC1; | ||||
| 	uint8_t TSC2; | ||||
| 	uint8_t TSC3; | ||||
| 	uint8_t TSC4; | ||||
| 	uint8_t TSC5; | ||||
| 	uint8_t TSC6; | ||||
| 	uint8_t TSC7; | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| union pn48 { | ||||
| 	uint64_t val; | ||||
| 	struct $7EAAF07643C317F97751F130E632CB13 _byte_; | ||||
| 	u8Byte val; | ||||
| 	struct { | ||||
| 		uint8_t TSC0; | ||||
| 		uint8_t TSC1; | ||||
| 		uint8_t TSC2; | ||||
| 		uint8_t TSC3; | ||||
| 		uint8_t TSC4; | ||||
| 		uint8_t TSC5; | ||||
| 		uint8_t TSC6; | ||||
| 		uint8_t TSC7; | ||||
| 	}_byte_; | ||||
| }; | ||||
| 
 | ||||
| struct _NDIS_802_11_WEP { | ||||
|  | @ -1091,7 +1088,7 @@ struct _atr_aligned4_ pwrctrl_priv { | |||
| 	uint8_t smart_ps; | ||||
| 	uint8_t bcn_ant_mode; | ||||
| 	uint32_t alives; | ||||
| 	uint64_t wowlan_fw_iv; | ||||
| 	u8Byte wowlan_fw_iv; | ||||
| 	uint8_t bpower_saving; | ||||
| 	uint8_t b_hw_radio_off; | ||||
| 	uint8_t reg_rfoff; | ||||
|  | @ -1310,10 +1307,12 @@ struct recv_frame_hdr { | |||
| 	struct sta_info *psta; | ||||
| }; | ||||
| 
 | ||||
| union recv_frame { | ||||
| struct recv_frame { | ||||
| union { | ||||
| 	_list list; | ||||
| 	struct recv_frame_hdr hdr; | ||||
| 	uint32_t mem[32]; | ||||
| 	}; | ||||
| }; | ||||
| /*
 | ||||
| union $AB04817EA6EB89125E28056B7464A4D7 { | ||||
|  | @ -1380,22 +1379,22 @@ struct sta_recv_priv { | |||
| }; | ||||
| 
 | ||||
| struct stainfo_stats { | ||||
| 	uint64_t rx_mgnt_pkts; | ||||
| 	uint64_t rx_ctrl_pkts; | ||||
| 	uint64_t rx_data_pkts; | ||||
| 	uint64_t last_rx_mgnt_pkts; | ||||
| 	uint64_t last_rx_ctrl_pkts; | ||||
| 	uint64_t last_rx_data_pkts; | ||||
| 	uint64_t rx_bytes; | ||||
| 	uint64_t tx_pkts; | ||||
| 	uint64_t tx_bytes; | ||||
| 	u8Byte rx_mgnt_pkts; | ||||
| 	u8Byte rx_ctrl_pkts; | ||||
| 	u8Byte rx_data_pkts; | ||||
| 	u8Byte last_rx_mgnt_pkts; | ||||
| 	u8Byte last_rx_ctrl_pkts; | ||||
| 	u8Byte last_rx_data_pkts; | ||||
| 	u8Byte rx_bytes; | ||||
| 	u8Byte tx_pkts; | ||||
| 	u8Byte tx_bytes; | ||||
| }; | ||||
| 
 | ||||
| struct _RSSI_STA { | ||||
| 	int32_t UndecoratedSmoothedPWDB; | ||||
| 	int32_t UndecoratedSmoothedCCK; | ||||
| 	int32_t UndecoratedSmoothedOFDM; | ||||
| 	uint64_t PacketMap; | ||||
| 	u8Byte PacketMap; | ||||
| 	uint8_t ValidBit; | ||||
| 	uint32_t OFDM_pkt; | ||||
| }; | ||||
|  | @ -1980,61 +1979,62 @@ struct hal_ops { | |||
| 
 | ||||
| struct _atr_aligned4_ _ADAPTER { | ||||
| 	uint16_t HardwareType; | ||||
| 	uint16_t interface_type; | ||||
| 	uint16_t interface_type;	//+2
 | ||||
| 	uint32_t work_mode; | ||||
| 	struct dvobj_priv *dvobj; | ||||
| 	struct mlme_priv mlmepriv; | ||||
| 	struct mlme_ext_priv mlmeextpriv; | ||||
| 	struct cmd_priv cmdpriv; | ||||
| 	struct evt_priv evtpriv; | ||||
| 	struct dvobj_priv *dvobj;	//+8
 | ||||
| 	struct mlme_priv mlmepriv; //+12 [1244]
 | ||||
| 	struct mlme_ext_priv mlmeextpriv; //+1256 [912]
 | ||||
| 	struct cmd_priv cmdpriv; //+2168
 | ||||
| 	struct evt_priv evtpriv; //+
 | ||||
| 	struct io_priv iopriv; | ||||
| 	struct xmit_priv xmitpriv; | ||||
| 	struct recv_priv recvpriv; | ||||
| 	struct sta_priv stapriv; | ||||
| 	struct xmit_priv xmitpriv; //+2248
 | ||||
| 	struct recv_priv recvpriv; //+2752
 | ||||
| 	struct sta_priv stapriv; //+3024 [164]
 | ||||
| 	struct security_priv securitypriv; | ||||
| 	struct registry_priv registrypriv; | ||||
| 	struct pwrctrl_priv pwrctrlpriv; | ||||
| 	struct pwrctrl_priv pwrctrlpriv; // pwrctrlpriv.bInternalAutoSuspend //+5061
 | ||||
| 	struct eeprom_priv eeprompriv; | ||||
| 	PVOID HalData; | ||||
| 	uint32_t hal_data_sz; | ||||
| 	struct hal_ops HalFunc; | ||||
| 	int32_t bDriverStopped; | ||||
| 	int32_t bSurpriseRemoved; | ||||
| 	int32_t bCardDisableWOHSM; | ||||
| 	uint8_t RxStop; | ||||
| 	int32_t bDriverStopped;		//+5880
 | ||||
| 	int32_t bSurpriseRemoved;	//+5884
 | ||||
| 	int32_t bCardDisableWOHSM;	//+5888
 | ||||
| 	uint8_t RxStop;				//+5892
 | ||||
| 	uint32_t IsrContent; | ||||
| 	uint32_t ImrContent; | ||||
| 	uint8_t EepromAddressSize; | ||||
| 	uint8_t hw_init_completed; | ||||
| 	uint8_t hw_init_completed;	//+5905
 | ||||
| 	uint8_t bDriverIsGoingToUnload; | ||||
| 	uint8_t init_adpt_in_progress; | ||||
| 	uint8_t bMpDriver; | ||||
| 	uint8_t bForwardingDisabled; | ||||
| 	struct task_struct isrThread; | ||||
| 	struct task_struct cmdThread; | ||||
| 	struct task_struct recvtasklet_thread; | ||||
| 	struct task_struct xmittasklet_thread; | ||||
| 	void (*intf_start)(_adapter *); | ||||
| 	void (*intf_stop)(_adapter *); | ||||
| 	_nic_hdl pnetdev; | ||||
| 	int bup; | ||||
| 	struct task_struct isrThread;	//+5888
 | ||||
| 	struct task_struct cmdThread;   //+5920
 | ||||
| 	struct task_struct recvtasklet_thread; //+5952
 | ||||
| 	struct task_struct xmittasklet_thread; //+5984
 | ||||
| 	void (*intf_start)(_adapter *); //+6008
 | ||||
| 	void (*intf_stop)(_adapter *); //+6012
 | ||||
| 	_nic_hdl pnetdev;	//+6016
 | ||||
| 	int bup;			//+6020
 | ||||
| 	struct net_device_stats stats; | ||||
| 	uint8_t net_closed; | ||||
| 	uint8_t net_closed; //+6052
 | ||||
| 	uint8_t bFWReady; | ||||
| 	uint8_t bLinkInfoDump; | ||||
| 	uint8_t bRxRSSIDisplay; | ||||
| 	_adapter *pbuddy_adapter; | ||||
| 	_mutex *hw_init_mutex; | ||||
| 	uint8_t isprimary; | ||||
| 	uint8_t adapter_type; | ||||
| 	uint8_t iface_type; | ||||
| 	_mutex *ph2c_fwcmd_mutex; | ||||
| 	_mutex *psetch_mutex; | ||||
| 	_mutex *psetbw_mutex; | ||||
| 	struct co_data_priv *pcodatapriv; | ||||
| 	uint8_t fix_rate; | ||||
| }; | ||||
| 	_adapter *pbuddy_adapter; //+6056
 | ||||
| 	_mutex *hw_init_mutex;	//+6060
 | ||||
| 	uint8_t isprimary;		//+6064
 | ||||
| 	uint8_t adapter_type; 	//+6065
 | ||||
| 	uint8_t iface_type;		//+6056
 | ||||
| 	_mutex *ph2c_fwcmd_mutex; //+6068
 | ||||
| 	_mutex *psetch_mutex;	//+6072
 | ||||
| 	_mutex *psetbw_mutex;	//+6076
 | ||||
| 	struct co_data_priv *pcodatapriv; //+6080
 | ||||
| 	uint8_t fix_rate; //+6084
 | ||||
| }; // [6088] (!)
 | ||||
| typedef struct _ADAPTER *PADAPTER; | ||||
| // if sizeof(struct _ADAPTER) != 6088 #error "Check aligned struct!" !
 | ||||
| 
 | ||||
| enum tag_HAL_IC_Type_Definition // : sint32_t
 | ||||
| { | ||||
|  | @ -2315,7 +2315,7 @@ struct _ODM_NOISE_MONITOR_ { | |||
| 	s2Byte noise_all; | ||||
| }; | ||||
| typedef struct _ODM_NOISE_MONITOR_ ODM_NOISE_MONITOR; | ||||
| 
 | ||||
| /* in rtl_bios_data.h
 | ||||
| struct _FALSE_ALARM_STATISTICS { | ||||
| 	u4Byte Cnt_Parity_Fail; | ||||
| 	u4Byte Cnt_Rate_Illegal; | ||||
|  | @ -2334,6 +2334,7 @@ struct _FALSE_ALARM_STATISTICS { | |||
| 	u4Byte Cnt_BW_LSC; | ||||
| }; | ||||
| typedef struct _FALSE_ALARM_STATISTICS FALSE_ALARM_STATISTICS; | ||||
| */ | ||||
| 
 | ||||
| enum _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE //: sint32_t
 | ||||
| { | ||||
|  | @ -2341,6 +2342,7 @@ enum _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE //: sint32_t | |||
| }; | ||||
| typedef enum _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE PHY_REG_PG_TYPE; | ||||
| 
 | ||||
| /* in rtl_bios_data.h
 | ||||
| struct _atr_aligned4_ _CFO_TRACKING_ { | ||||
| 	BOOLEAN bATCStatus; | ||||
| 	BOOLEAN largeCFOHit; | ||||
|  | @ -2358,7 +2360,8 @@ struct _atr_aligned4_ _CFO_TRACKING_ { | |||
| 	u1Byte CFO_TH_ATC; | ||||
| }; | ||||
| typedef struct _CFO_TRACKING_ CFO_TRACKING; | ||||
| 
 | ||||
| */ | ||||
| /* in rtl_bios_data.h
 | ||||
| struct _atr_aligned8_ _ROM_INFO { | ||||
| 	u1Byte EEPROMVersion; | ||||
| 	u1Byte CrystalCap; | ||||
|  | @ -2366,6 +2369,8 @@ struct _atr_aligned8_ _ROM_INFO { | |||
| 	u4Byte DebugLevel; | ||||
| }; | ||||
| typedef struct _ROM_INFO ROM_INFO; | ||||
| */ | ||||
| 
 | ||||
| typedef struct _ROM_INFO *PROM_INFO; | ||||
| 
 | ||||
| typedef struct sta_info *PSTA_INFO_T; | ||||
|  | @ -3269,7 +3274,7 @@ typedef int (*mac_monitor_ptr)(uint8_t *, char); | |||
| 
 | ||||
| struct mlme_handler { | ||||
| 	uint32_t num; | ||||
| 	uint32_t (*func)(_adapter *, union recv_frame *); | ||||
| 	uint32_t (*func)(_adapter *, struct recv_frame *); | ||||
| }; | ||||
| 
 | ||||
| struct fwevent { | ||||
|  |  | |||
|  | @ -271,7 +271,7 @@ extern int rtw_ps_enable(int enable); | |||
| extern int rltk_wifi_fw_test(int argc, char **argv);  | ||||
| // Data declarations
 | ||||
| extern _list timer_table; | ||||
| extern struct net_device *rltk_wlan_info; | ||||
| extern Rltk_wlan_t rltk_wlan_info[2]; // in wrapper.h
 | ||||
| extern int timer_used_num; | ||||
| extern int max_timer_used_num; | ||||
| //--------------------------------
 | ||||
|  | @ -527,12 +527,12 @@ extern _sema *pExportWlanIrqSemaphore; | |||
| // freertos_recv.o
 | ||||
| // Function declarations
 | ||||
| extern int rtw_os_recv_resource_init(struct recv_priv *precvpriv, _adapter *padapter); | ||||
| extern int rtw_os_recv_resource_alloc(_adapter *padapter, union recv_frame *precvframe); | ||||
| extern int rtw_os_recv_resource_alloc(_adapter *padapter, struct recv_frame *precvframe); | ||||
| extern int rtw_os_recvbuf_resource_alloc(_adapter *padapter, struct recv_buf *precvbuf); | ||||
| extern int rtw_os_recvbuf_resource_free(_adapter *padapter, struct recv_buf *precvbuf); | ||||
| extern int rtw_tkip_countermeasure(_adapter *padapter);  | ||||
| extern void rtw_handle_tkip_mic_err(_adapter *padapter, int bgroup); | ||||
| extern int rtw_recv_indicatepkt(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern int rtw_recv_indicatepkt(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void rtw_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl); | ||||
| 
 | ||||
| //--------------------------------
 | ||||
|  | @ -951,10 +951,10 @@ extern int32_t rtl8195a_init_recv_priv(_adapter *padapter); | |||
| //--------------------------------
 | ||||
| // rtl8195a_rxdesc.o
 | ||||
| // Function declarations
 | ||||
| extern void process_rssi(_adapter *padapter, union recv_frame *prframe); | ||||
| extern void process_rssi(_adapter *padapter, struct recv_frame *prframe); | ||||
| extern int32_t translate2dbm(int signal_strength_idx); | ||||
| extern void rtl8195a_query_rx_desc_status(union recv_frame *precvframe, uint8_t *pdesc); | ||||
| extern void rtl8195a_query_rx_phy_status(union recv_frame *precvframe, uint8_t *pphy_status, int a3); | ||||
| extern void rtl8195a_query_rx_desc_status(struct recv_frame *precvframe, uint8_t *pdesc); | ||||
| extern void rtl8195a_query_rx_phy_status(struct recv_frame *precvframe, uint8_t *pphy_status, int a3); | ||||
| // Data declarations
 | ||||
| //--------------------------------
 | ||||
| // rtl8195a_xmit.o
 | ||||
|  | @ -1057,16 +1057,16 @@ extern void (*p_wlan_autoreconnect_hdl)(rtw_security_t, char *, int, char *, int | |||
| // Function declarations
 | ||||
| extern u8 *get_da(u8 *pframe); | ||||
| extern u8 *get_sa(u8 *pframe); | ||||
| extern signed int OnAction(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int DoReserved(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern void mgt_dispatcher(_adapter *padapter, struct mlme_handler *ptable, union recv_frame *precv_frame); | ||||
| extern signed int OnAction(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern signed int DoReserved(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void mgt_dispatcher(_adapter *padapter, struct mlme_handler *ptable, struct recv_frame *precv_frame); | ||||
| extern int rtw_is_channel_set_contains_channel(RT_CHANNEL_INFO *channel_set, const uint32_t channel_num, int *pchannel_idx);  | ||||
| extern int init_hw_mlme_ext(_adapter *padapter);  | ||||
| extern unsigned int init_channel_set(_adapter *padapter, int ChannelPlan, RT_CHANNEL_INFO *channel_set); | ||||
| extern void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext); | ||||
| //void mgt_dispatcher(_adapter *padapter, union recv_frame *precv_frame, int a3);
 | ||||
| extern unsigned int OnAction_public(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnAction_p2p(_adapter *padapter, union recv_frame *precv_frame); | ||||
| //void mgt_dispatcher(_adapter *padapter, struct recv_frame *precv_frame, int a3);
 | ||||
| extern unsigned int OnAction_public(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern signed int OnAction_p2p(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern struct xmit_frame *alloc_mgtxmitframe(struct xmit_priv *pxmitpriv); | ||||
| extern struct xmit_frame *alloc_FwRsvdframe(struct xmit_priv *pxmitpriv, uint32_t size); | ||||
| extern void update_mgnt_tx_rate(_adapter *padapter, uint8_t rate);  | ||||
|  | @ -1078,36 +1078,36 @@ extern void issue_action_BSSCoexistPacket(_adapter *padapter); | |||
| extern uint32_t update_hidden_ssid(uint8_t *ies, uint32_t ies_len, int hidden_ssid_mode); | ||||
| extern void issue_beacon(_adapter *padapter);  | ||||
| extern void issue_probersp(_adapter *padapter, u8 *da, uint8_t is_valid_p2p_probereq); | ||||
| extern signed int OnProbeReq(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnProbeReq(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void issue_probereq(_adapter *padapter, NDIS_802_11_SSID *pssid, int blnbc); | ||||
| extern void issue_auth(_adapter *padapter, struct sta_info *psta, int status); | ||||
| extern signed int OnAuth(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnAuth(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void issue_asocrsp(_adapter *padapter, uint16_t status, struct sta_info *pstat, int pkt_type); | ||||
| extern void issue_assocreq(_adapter *padapter);  | ||||
| extern void issue_nulldata(_adapter *padapter, unsigned int power_mode);  | ||||
| extern void issue_qos_nulldata(_adapter *padapter, u8 *da, uint16_t tid); | ||||
| extern void issue_deauth(_adapter *padapter, u8 *da, uint32_t reason); | ||||
| extern void issue_action_BA(_adapter *padapter, u8 *raddr, u8 action, uint16_t status); | ||||
| extern signed int OnAction_back(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnAction_back(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern signed int send_beacon(_adapter *padapter); | ||||
| extern signed int collect_bss_info(_adapter *padapter, union recv_frame *precv_frame, WLAN_BSSID_EX *bssid); | ||||
| extern signed int collect_bss_info(_adapter *padapter, struct recv_frame *precv_frame, WLAN_BSSID_EX *bssid); | ||||
| extern void start_clnt_auth(_adapter *padapter);  | ||||
| extern void start_clnt_assoc(_adapter *padapter);  | ||||
| extern signed int OnAuthClient(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnAuthClient(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern int report_scan_result_one(_adapter *padapter, WLAN_BSSID_EX *bssid);  | ||||
| extern int add_site_survey(_adapter *padapter, WLAN_BSSID_EX *bssid);  | ||||
| extern void report_survey_event(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnProbeRsp(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern void report_survey_event(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern signed int OnProbeRsp(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void report_surveydone_event(_adapter *padapter);  | ||||
| extern void report_join_res(_adapter *padapter, int res);  | ||||
| extern signed int OnAssocRsp(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnAssocRsp(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void report_del_sta_event(_adapter *padapter, u8 *MacAddr, uint16_t reason); | ||||
| extern signed int receive_disconnect(_adapter *padapter, u8 *MacAddr, uint16_t reason); | ||||
| extern signed int OnBeacon(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnDeAuth(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnDisassoc(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnBeacon(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern signed int OnDeAuth(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern signed int OnDisassoc(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void report_add_sta_event(_adapter *padapter, u8 *MacAddr, int cam_idx); | ||||
| extern signed int OnAssocReq(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern signed int OnAssocReq(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern signed int rtw_port_switch_chk(_adapter *adapter); | ||||
| extern void update_sta_info(_adapter *padapter, struct sta_info *psta); | ||||
| extern void mlmeext_sta_del_event_callback(_adapter *padapter);  | ||||
|  | @ -1222,10 +1222,10 @@ extern const struct fwevent wlanevents[24]; /* = | |||
| extern u8 *get_hdr_bssid(u8 *pframe); | ||||
| extern int filter_packet(u8 *buf, int length); | ||||
| extern signed int promisc_get_encrypt(_adapter *padapter, uint8_t *bssid); | ||||
| extern void promisc_info_get(_adapter *padapter, union recv_frame *prframe, ieee80211_frame_info_t *ppromisc_info, int a4); | ||||
| extern void promisc_info_get(_adapter *padapter, struct recv_frame *prframe, ieee80211_frame_info_t *ppromisc_info, int a4); | ||||
| extern void promisc_set_enable(_adapter *padapter, int enabled, int len_used); | ||||
| extern void promisc_deinit(_adapter *padapter);  | ||||
| extern int promisc_recv_func(_adapter *padapter, union recv_frame *rframe); | ||||
| extern int promisc_recv_func(_adapter *padapter, struct recv_frame *rframe); | ||||
| extern int promisc_set(rtw_rcr_level_t enabled, void (*callback)(u8 *, unsigned int, void *), int len_used); | ||||
| extern int promisc_set_mgntframe(int result); | ||||
| extern int is_promisc_enabled(); | ||||
|  | @ -1306,9 +1306,9 @@ extern sint rtw_init_recv_priv(struct recv_priv *precvpriv, _adapter *padapter); | |||
| extern void rtw_mfree_recv_priv_lock(struct recv_priv *precvpriv); | ||||
| extern struct list_head *rtw_alloc_recvframe(_queue *pfree_recv_queue); | ||||
| //struct list_head *rtw_alloc_recvframe(_queue *pfree_recv_queue, _irqL a2, int a3);
 | ||||
| extern int rtw_free_recvframe(union recv_frame *precvframe, _queue *pfree_recv_queue); | ||||
| extern sint rtw_enqueue_recvframe(union recv_frame *precvframe, _queue *queue); | ||||
| extern sint rtw_enqueue_recvframe(union recv_frame *precvframe, _queue *queue); | ||||
| extern int rtw_free_recvframe(struct recv_frame *precvframe, _queue *pfree_recv_queue); | ||||
| extern sint rtw_enqueue_recvframe(struct recv_frame *precvframe, _queue *queue); | ||||
| extern sint rtw_enqueue_recvframe(struct recv_frame *precvframe, _queue *queue); | ||||
| extern void rtw_free_recvframe_queue(_queue *pframequeue, _queue *pfree_recv_queue);  | ||||
| extern int rtw_free_uc_swdec_pending_queue(_adapter *adapter, _irqL a2, int a3); | ||||
| extern void rtw_free_recv_priv(struct recv_priv *precvpriv); | ||||
|  | @ -1316,34 +1316,34 @@ extern sint rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf, _queue *queue | |||
| extern uint32_t rtw_free_buf_pending_queue(_adapter *adapter);  | ||||
| extern sint rtw_enqueue_recvbuf(struct recv_buf *precvbuf, _queue *queue); | ||||
| extern struct list_head *rtw_dequeue_recvbuf(_queue *queue, _irqL a2, int a3); | ||||
| extern sint recvframe_chkmic(_adapter *adapter, union recv_frame *precvframe, int a3, int a4); | ||||
| extern union recv_frame *decryptor(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern union recv_frame *portctrl(_adapter *adapter, union recv_frame *precv_frame); | ||||
| extern sint recv_decache(union recv_frame *precv_frame, uint8_t bretry, struct stainfo_rxcache *prxcache); | ||||
| extern void process_pwrbit_data(_adapter *padapter, union recv_frame *precv_frame, int a3, int a4); | ||||
| extern void process_wmmps_data(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern void count_rx_stats(_adapter *padapter, union recv_frame *prframe, struct sta_info *sta); | ||||
| extern sint sta2sta_data_frame(_adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta, int a4); | ||||
| extern sint ap2sta_data_frame(_adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta); | ||||
| extern sint sta2ap_data_frame(_adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta); | ||||
| extern sint validate_recv_ctrl_frame(_adapter *padapter, union recv_frame *precv_frame); | ||||
| extern sint validate_recv_data_frame(_adapter *adapter, union recv_frame *precv_frame); | ||||
| extern sint wlanhdr_to_ethhdr(union recv_frame *precvframe, int a2, int a3); | ||||
| extern union recv_frame *recvframe_defrag(_adapter *adapter, _queue *defrag_q); | ||||
| extern _queue *recvframe_chk_defrag(PADAPTER padapter, union recv_frame *precv_frame); | ||||
| extern sint validate_recv_mgnt_frame(PADAPTER padapter, union recv_frame **pprecv_frame); | ||||
| extern sint validate_recv_frame(_adapter *adapter, union recv_frame **pprecv_frame); | ||||
| extern int amsdu_to_msdu(_adapter *padapter, union recv_frame *prframe); | ||||
| extern sint recvframe_chkmic(_adapter *adapter, struct recv_frame *precvframe, int a3, int a4); | ||||
| extern struct recv_frame *decryptor(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern struct recv_frame *portctrl(_adapter *adapter, struct recv_frame *precv_frame); | ||||
| extern sint recv_decache(struct recv_frame *precv_frame, uint8_t bretry, struct stainfo_rxcache *prxcache); | ||||
| extern void process_pwrbit_data(_adapter *padapter, struct recv_frame *precv_frame, int a3, int a4); | ||||
| extern void process_wmmps_data(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern void count_rx_stats(_adapter *padapter, struct recv_frame *prframe, struct sta_info *sta); | ||||
| extern sint sta2sta_data_frame(_adapter *adapter, struct recv_frame *precv_frame, struct sta_info **psta, int a4); | ||||
| extern sint ap2sta_data_frame(_adapter *adapter, struct recv_frame *precv_frame, struct sta_info **psta); | ||||
| extern sint sta2ap_data_frame(_adapter *adapter, struct recv_frame *precv_frame, struct sta_info **psta); | ||||
| extern sint validate_recv_ctrl_frame(_adapter *padapter, struct recv_frame *precv_frame); | ||||
| extern sint validate_recv_data_frame(_adapter *adapter, struct recv_frame *precv_frame); | ||||
| extern sint wlanhdr_to_ethhdr(struct recv_frame *precvframe, int a2, int a3); | ||||
| extern struct recv_frame *recvframe_defrag(_adapter *adapter, _queue *defrag_q); | ||||
| extern _queue *recvframe_chk_defrag(PADAPTER padapter, struct recv_frame *precv_frame); | ||||
| extern sint validate_recv_mgnt_frame(PADAPTER padapter, struct recv_frame **pprecv_frame); | ||||
| extern sint validate_recv_frame(_adapter *adapter, struct recv_frame **pprecv_frame); | ||||
| extern int amsdu_to_msdu(_adapter *padapter, struct recv_frame *prframe); | ||||
| extern int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, int seq_num); | ||||
| extern int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe); | ||||
| extern int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, struct recv_frame *prframe); | ||||
| extern int recv_indicatepkts_in_order(_adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced); | ||||
| extern int recv_indicatepkt_reorder(_adapter *padapter, union recv_frame *prframe, int a3); | ||||
| extern int recv_indicatepkt_reorder(_adapter *padapter, struct recv_frame *prframe, int a3); | ||||
| extern void rtw_reordering_ctrl_timeout_handler(void *pcontext, _irqL a2); | ||||
| extern int process_recv_indicatepkts(_adapter *padapter, union recv_frame *prframe, int a3); | ||||
| extern int recv_func_prehandle(_adapter *padapter, union recv_frame *rframe, int a3); | ||||
| extern int recv_func_posthandle(_adapter *padapter, union recv_frame *prframe); | ||||
| extern int recv_func(_adapter *padapter, union recv_frame *rframe, int a3); | ||||
| extern int32_t rtw_recv_entry(union recv_frame *precvframe, int a2, int a3); | ||||
| extern int process_recv_indicatepkts(_adapter *padapter, struct recv_frame *prframe, int a3); | ||||
| extern int recv_func_prehandle(_adapter *padapter, struct recv_frame *rframe, int a3); | ||||
| extern int recv_func_posthandle(_adapter *padapter, struct recv_frame *prframe); | ||||
| extern int recv_func(_adapter *padapter, struct recv_frame *rframe, int a3); | ||||
| extern int32_t rtw_recv_entry(struct recv_frame *precvframe, int a2, int a3); | ||||
| extern void rtw_recv_tasklet(thread_context context);  | ||||
| // Data declarations
 | ||||
| extern const uint8_t SNAP_ETH_TYPE_APPLETALK_AARP[2]; // = { 128u, 243u }; 
 | ||||
|  |  | |||
|  | @ -392,24 +392,24 @@ struct net_device_stats { | |||
| }; | ||||
| 
 | ||||
| struct net_device { | ||||
| 	char			name[16]; | ||||
| 	void			*priv;		/* pointer to private data */ | ||||
| 	unsigned char		dev_addr[6];	/* set during bootup */ | ||||
| 	int (*init)(void); | ||||
| 	int (*open)(struct net_device *dev); | ||||
| 	int (*stop)(struct net_device *dev); | ||||
| 	int (*hard_start_xmit)(struct sk_buff *skb, struct net_device *dev); | ||||
| 	int (*do_ioctl)(struct net_device *dev, struct iwreq *ifr, int cmd); | ||||
| 	struct net_device_stats* (*get_stats)(struct net_device *dev); | ||||
| 	char			name[16];		//+0
 | ||||
| 	void			*priv;			//+16 _adapter /* pointer to private data */
 | ||||
| 	unsigned char	dev_addr[6];	//+20 /* set during bootup */
 | ||||
| 	int (*init)(void);				//+28
 | ||||
| 	int (*open)(struct net_device *dev);	//+32
 | ||||
| 	int (*stop)(struct net_device *dev);	//+36
 | ||||
| 	int (*hard_start_xmit)(struct sk_buff *skb, struct net_device *dev); //+40
 | ||||
| 	int (*do_ioctl)(struct net_device *dev, struct iwreq *ifr, int cmd); //+44
 | ||||
| 	struct net_device_stats* (*get_stats)(struct net_device *dev);	//+48
 | ||||
| }; | ||||
| 
 | ||||
| typedef struct { | ||||
| 	struct net_device *dev;		/* Binding wlan driver netdev */ | ||||
| 	void *skb;			/* pending Rx packet */ | ||||
| 	unsigned int tx_busy; | ||||
| 	unsigned int rx_busy; | ||||
| 	unsigned char enable; | ||||
| 	unsigned char mac[6]; | ||||
| 	struct net_device *dev;		//+0 /* Binding wlan driver netdev */
 | ||||
| 	void *skb;					//+4 /* pending Rx packet */
 | ||||
| 	unsigned int tx_busy;		//+8
 | ||||
| 	unsigned int rx_busy;		//+12
 | ||||
| 	unsigned char enable;		//+16
 | ||||
| 	unsigned char mac[6];		//+17..23
 | ||||
| } Rltk_wlan_t; | ||||
| 
 | ||||
| #define netdev_priv(dev)	dev->priv | ||||
|  |  | |||
|  | @ -38,7 +38,7 @@ struct sk_buff { | |||
| /************************************************************/ | ||||
| 
 | ||||
| // #include "wrapper.h"
 | ||||
| extern struct net_device *rltk_wlan_info; | ||||
| //extern Rltk_wlan_t rltk_wlan_info[2];
 | ||||
| 
 | ||||
| //----- ------------------------------------------------------------------
 | ||||
| // Wlan Interface opened for upper layer
 | ||||
|  |  | |||
|  | @ -113,7 +113,7 @@ | |||
| 
 | ||||
| struct timer_list { | ||||
| 	_timerHandle 	timer_hdl; | ||||
| 	unsigned long	data; | ||||
| 	unsigned long	data; // unsigned int	data; ?
 | ||||
| 	void (*function)(void *); | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -624,7 +624,9 @@ SECTIONS | |||
| 	rom_wps_rcons = 0x35d88; | ||||
| 	rom_wps_Td4s = 0x35d94; | ||||
| 	rom_wps_Td0 = 0x35e94; | ||||
| 	str_rom_hex_addr = 0x442D6; | ||||
| 	str_rom_0123456789ABCDEF = 0x3ec24; /* "0123456789ABCDEF" */ | ||||
| 	str_rom_hex_addr = 0x442D6; /* "[Addr]   .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F\r\n" */ | ||||
| 	str_rom_0123456789abcdef = 0x44660; /* "0123456789abcdef" */ | ||||
| 	__rom_b_cut_end__ = 0x4467c; | ||||
| 	__rom_c_cut_text_start__ = 0x4467c; | ||||
| 	HalInitPlatformLogUartV02 = 0x4467d; | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ | |||
| #define UART_LOG_CMD_BUFLEN     127      | ||||
| #define MAX_ARGV                10 | ||||
| 
 | ||||
| extern COMMAND_TABLE UartLogRomCmdTable[6]; // in ROM (hal_diag.h)
 | ||||
| //extern COMMAND_TABLE UartLogRomCmdTable[6]; // in ROM (hal_diag.h)
 | ||||
| 
 | ||||
| typedef u32 (*ECHOFUNC)(IN u8*,...);    //UART LOG echo-function type.
 | ||||
| 
 | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										4454
									
								
								build/obj/build.nmap
									
										
									
									
									
								
							
							
						
						
									
										4454
									
								
								build/obj/build.nmap
									
										
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue