| 
									
										
										
										
											2016-11-21 22:59:46 +08:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * wpa_supplicant/hostapd / Internal implementation of OS specific functions | 
					
						
							|  |  |  |  * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU General Public License version 2 as | 
					
						
							|  |  |  |  * published by the Free Software Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Alternatively, this software may be distributed under the terms of BSD | 
					
						
							|  |  |  |  * license. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * See README and COPYING for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This file is an example of operating system specific  wrapper functions. | 
					
						
							|  |  |  |  * This version implements many of the functions internally, so it can be used | 
					
						
							|  |  |  |  * to fill in missing functions from the target system C libraries. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Some of the functions are using standard C library calls in order to keep | 
					
						
							|  |  |  |  * this file in working condition to allow the functions to be tested on a | 
					
						
							|  |  |  |  * Linux target. Please note that OS_NO_C_LIB_DEFINES needs to be defined for | 
					
						
							|  |  |  |  * this file to work correctly. Note that these implementations are only | 
					
						
							|  |  |  |  * examples and are not optimized for speed. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "os.h"
 | 
					
						
							|  |  |  | #include <stdlib.h>
 | 
					
						
							|  |  |  | #include <time.h>
 | 
					
						
							|  |  |  | #include <sys/time.h>
 | 
					
						
							|  |  |  | #include "esp_system.h"
 | 
					
						
							| 
									
										
										
										
											2018-08-13 16:37:56 +08:00
										 |  |  | #include "utils/common.h"
 | 
					
						
							| 
									
										
										
										
											2016-11-21 22:59:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | int os_get_time(struct os_time *t) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2020-01-10 12:58:54 +08:00
										 |  |  |     struct timeval tv; | 
					
						
							|  |  |  |     int ret = gettimeofday(&tv, NULL); | 
					
						
							|  |  |  |     t->sec = (os_time_t) tv.tv_sec; | 
					
						
							|  |  |  |     t->usec = tv.tv_usec; | 
					
						
							|  |  |  |     return ret; | 
					
						
							| 
									
										
										
										
											2016-11-21 22:59:46 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | unsigned long os_random(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     return esp_random(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int os_get_random(unsigned char *buf, size_t len) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2018-08-15 18:20:16 +10:00
										 |  |  |     esp_fill_random(buf, len); | 
					
						
							| 
									
										
										
										
											2016-11-21 22:59:46 +08:00
										 |  |  |     return 0; | 
					
						
							|  |  |  | } |