| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- /*
- * 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
- #include "wpabuf.h"
- #include "esp_log.h"
- #include "supplicant_opt.h"
- #ifdef ESPRESSIF_USE
- #define TAG "wpa"
- #define MSG_ERROR ESP_LOG_ERROR
- #define MSG_WARNING ESP_LOG_WARN
- #define MSG_INFO ESP_LOG_INFO
- #define MSG_DEBUG ESP_LOG_DEBUG
- #define MSG_MSGDUMP ESP_LOG_VERBOSE
- #define MSG_EXCESSIVE ESP_LOG_VERBOSE
- #else
- enum { MSG_MSGDUMP, MSG_DEBUG, MSG_INFO, MSG_WARNING, MSG_ERROR };
- #endif
- /** 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);
- #ifdef DEBUG_PRINT
- /**
- * 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 wpa_printf(level,fmt, args...) ESP_LOG_LEVEL_LOCAL(level, TAG, fmt, ##args)
- #define wpa_dbg(ctx, level, fmt, args...) wpa_printf(level, fmt, ##args)
- void wpa_dump_mem(char* desc, uint8_t *addr, uint16_t len);
- /**
- * 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.
- */
- void wpa_hexdump(int level, const char *title, const u8 *buf, size_t len);
- static inline void wpa_hexdump_ascii(int level, const char *title, const void *buf, size_t len)
- {
- wpa_hexdump(level, title, buf, len);
- }
- static inline void wpa_hexdump_ascii_key(int level, const char *title, const void *buf, size_t len)
- {
- wpa_hexdump(level, title, buf, 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 void *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 void *buf,
- size_t len);
- #else
- #define wpa_printf(level,fmt, args...) do {} while(0)
- #define wpa_hexdump(...) do {} while(0)
- #define wpa_dump_mem(...) do {} while(0)
- #define wpa_hexdump_buf(...) do {} while(0)
- #define wpa_hexdump_key(...) do {} while(0)
- #define wpa_hexdump_buf_key(...) do {} while(0)
- #define wpa_hexdump_ascii(...) do {} while(0)
- #define wpa_hexdump_ascii_key(...) do {} while(0)
- #define wpa_dbg(...) do {} while(0)
- #endif
- #define wpa_auth_logger(...) do {} while(0)
- #define wpa_auth_vlogger(...) do {} while(0)
- /**
- * 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.
- */
- #define wpa_msg(...) do {} while(0)
- /**
- * 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);
- #endif /* WPA_DEBUG_H */
|