mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-28 12:41:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			194 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * wpa_supplicant/hostapd / Debug prints
 | |
|  * Copyright (c) 2002-2007, 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.
 | |
|  */
 | |
| 
 | |
| #ifndef WPA_DEBUG_H
 | |
| #define WPA_DEBUG_H
 | |
| 
 | |
| 
 | |
| enum { MSG_MSGDUMP, MSG_DEBUG, MSG_INFO, MSG_WARNING, MSG_ERROR };
 | |
| 
 | |
| /** EAP authentication completed successfully */
 | |
| #define WPA_EVENT_EAP_SUCCESS "CTRL-EVENT-EAP-SUCCESS "
 | |
| 
 | |
| int wpa_debug_open_file(const char *path);
 | |
| void wpa_debug_close_file(void);
 | |
| 
 | |
| /**
 | |
|  * wpa_debug_printf_timestamp - Print timestamp for debug output
 | |
|  *
 | |
|  * This function prints a timestamp in seconds_from_1970.microsoconds
 | |
|  * format if debug output has been configured to include timestamps in debug
 | |
|  * messages.
 | |
|  */
 | |
| void wpa_debug_print_timestamp(void);
 | |
| 
 | |
| /**
 | |
|  * wpa_printf - conditional printf
 | |
|  * @level: priority level (MSG_*) of the message
 | |
|  * @fmt: printf format string, followed by optional arguments
 | |
|  *
 | |
|  * This function is used to print conditional debugging and error messages. The
 | |
|  * output may be directed to stdout, stderr, and/or syslog based on
 | |
|  * configuration.
 | |
|  *
 | |
|  * Note: New line '\n' is added to the end of the text when printing to stdout.
 | |
|  */
 | |
| //#define  DEBUG_PRINT
 | |
| //#define   MSG_PRINT
 | |
| 
 | |
| /**
 | |
|  * wpa_hexdump - conditional hex dump
 | |
|  * @level: priority level (MSG_*) of the message
 | |
|  * @title: title of for the message
 | |
|  * @buf: data buffer to be dumped
 | |
|  * @len: length of the buf
 | |
|  *
 | |
|  * This function is used to print conditional debugging and error messages. The
 | |
|  * output may be directed to stdout, stderr, and/or syslog based on
 | |
|  * configuration. The contents of buf is printed out has hex dump.
 | |
|  */
 | |
| #ifdef DEBUG_PRINT
 | |
| #define wpa_printf(level,fmt, args...) ets_printf(fmt,## args)
 | |
| 
 | |
| static inline void wpa_hexdump_ascii(int level, const char *title, const u8 *buf, size_t len)
 | |
| {
 | |
| 
 | |
| }
 | |
| 
 | |
| static inline void wpa_hexdump_ascii_key(int level, const char *title, const u8 *buf, size_t len)
 | |
| {
 | |
| }
 | |
| 
 | |
| 
 | |
| void wpa_hexdump(int level, const char *title, const u8 *buf, size_t len);
 | |
| 
 | |
| static inline void wpa_hexdump_buf(int level, const char *title,
 | |
| 				   const struct wpabuf *buf)
 | |
| {
 | |
| 	wpa_hexdump(level, title, wpabuf_head(buf), wpabuf_len(buf));
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * wpa_hexdump_key - conditional hex dump, hide keys
 | |
|  * @level: priority level (MSG_*) of the message
 | |
|  * @title: title of for the message
 | |
|  * @buf: data buffer to be dumped
 | |
|  * @len: length of the buf
 | |
|  *
 | |
|  * This function is used to print conditional debugging and error messages. The
 | |
|  * output may be directed to stdout, stderr, and/or syslog based on
 | |
|  * configuration. The contents of buf is printed out has hex dump. This works
 | |
|  * like wpa_hexdump(), but by default, does not include secret keys (passwords,
 | |
|  * etc.) in debug output.
 | |
|  */
 | |
| void wpa_hexdump_key(int level, const char *title, const u8 *buf, size_t len);
 | |
| 
 | |
| 
 | |
| static inline void wpa_hexdump_buf_key(int level, const char *title,
 | |
| 				       const struct wpabuf *buf)
 | |
| {
 | |
| 	wpa_hexdump_key(level, title, wpabuf_head(buf), wpabuf_len(buf));
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * wpa_hexdump_ascii - conditional hex dump
 | |
|  * @level: priority level (MSG_*) of the message
 | |
|  * @title: title of for the message
 | |
|  * @buf: data buffer to be dumped
 | |
|  * @len: length of the buf
 | |
|  *
 | |
|  * This function is used to print conditional debugging and error messages. The
 | |
|  * output may be directed to stdout, stderr, and/or syslog based on
 | |
|  * configuration. The contents of buf is printed out has hex dump with both
 | |
|  * the hex numbers and ASCII characters (for printable range) are shown. 16
 | |
|  * bytes per line will be shown.
 | |
|  */
 | |
| void wpa_hexdump_ascii(int level, const char *title, const u8 *buf,
 | |
| 		       size_t len);
 | |
| 
 | |
| /**
 | |
|  * wpa_hexdump_ascii_key - conditional hex dump, hide keys
 | |
|  * @level: priority level (MSG_*) of the message
 | |
|  * @title: title of for the message
 | |
|  * @buf: data buffer to be dumped
 | |
|  * @len: length of the buf
 | |
|  *
 | |
|  * This function is used to print conditional debugging and error messages. The
 | |
|  * output may be directed to stdout, stderr, and/or syslog based on
 | |
|  * configuration. The contents of buf is printed out has hex dump with both
 | |
|  * the hex numbers and ASCII characters (for printable range) are shown. 16
 | |
|  * bytes per line will be shown. This works like wpa_hexdump_ascii(), but by
 | |
|  * default, does not include secret keys (passwords, etc.) in debug output.
 | |
|  */
 | |
| void wpa_hexdump_ascii_key(int level, const char *title, const u8 *buf,
 | |
| 			   size_t len);
 | |
| #else
 | |
| #define wpa_printf(level,fmt, args...)
 | |
| #define wpa_hexdump(...)
 | |
| #define wpa_hexdump_buf(...)
 | |
| #define wpa_hexdump_key(...)
 | |
| #define wpa_hexdump_buf_key(...)
 | |
| #define wpa_hexdump_ascii(...)
 | |
| #define wpa_hexdump_ascii_key(...)
 | |
| #endif
 | |
| 
 | |
| #define wpa_auth_logger
 | |
| #define wpa_auth_vlogger
 | |
| 
 | |
| /**
 | |
|  * wpa_msg - Conditional printf for default target and ctrl_iface monitors
 | |
|  * @ctx: Pointer to context data; this is the ctx variable registered
 | |
|  *	with struct wpa_driver_ops::init()
 | |
|  * @level: priority level (MSG_*) of the message
 | |
|  * @fmt: printf format string, followed by optional arguments
 | |
|  *
 | |
|  * This function is used to print conditional debugging and error messages. The
 | |
|  * output may be directed to stdout, stderr, and/or syslog based on
 | |
|  * configuration. This function is like wpa_printf(), but it also sends the
 | |
|  * same message to all attached ctrl_iface monitors.
 | |
|  *
 | |
|  * Note: New line '\n' is added to the end of the text when printing to stdout.
 | |
|  */
 | |
| void wpa_msg(void *ctx, int level, const char *fmt, ...) PRINTF_FORMAT(3, 4);
 | |
| 
 | |
| /**
 | |
|  * wpa_msg_ctrl - Conditional printf for ctrl_iface monitors
 | |
|  * @ctx: Pointer to context data; this is the ctx variable registered
 | |
|  *	with struct wpa_driver_ops::init()
 | |
|  * @level: priority level (MSG_*) of the message
 | |
|  * @fmt: printf format string, followed by optional arguments
 | |
|  *
 | |
|  * This function is used to print conditional debugging and error messages.
 | |
|  * This function is like wpa_msg(), but it sends the output only to the
 | |
|  * attached ctrl_iface monitors. In other words, it can be used for frequent
 | |
|  * events that do not need to be sent to syslog.
 | |
|  */
 | |
| void wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...)
 | |
| PRINTF_FORMAT(3, 4);
 | |
| 
 | |
| typedef void (*wpa_msg_cb_func)(void *ctx, int level, const char *txt,
 | |
| 				size_t len);
 | |
| 
 | |
| typedef void (*eloop_timeout_handler)(void *eloop_data, void *user_ctx);
 | |
| 
 | |
| int eloop_cancel_timeout(eloop_timeout_handler handler,
 | |
| 			 void *eloop_data, void *user_data);
 | |
| 
 | |
| int eloop_register_timeout(unsigned int secs, unsigned int usecs,
 | |
| 			   eloop_timeout_handler handler,
 | |
| 			   void *eloop_data, void *user_data);
 | |
| 
 | |
| 
 | |
| #endif /* WPA_DEBUG_H */
 |