1 /* 2 * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 /****************************************************************************** 20 * wlan_logging_sock_svc.h 21 * 22 ******************************************************************************/ 23 24 #ifndef WLAN_LOGGING_SOCK_SVC_H 25 #define WLAN_LOGGING_SOCK_SVC_H 26 27 #include <wlan_nlink_srv.h> 28 #include <qdf_status.h> 29 #include <qdf_trace.h> 30 #include <wlan_nlink_common.h> 31 32 int wlan_logging_sock_init_svc(void); 33 int wlan_logging_sock_deinit_svc(void); 34 int wlan_log_to_user(QDF_TRACE_LEVEL log_level, char *to_be_sent, int length); 35 36 #ifdef WLAN_LOGGING_SOCK_SVC_ENABLE 37 void wlan_logging_set_per_pkt_stats(void); 38 void wlan_logging_set_fw_flush_complete(void); 39 void wlan_flush_host_logs_for_fatal(void); 40 void wlan_logging_set_active(bool active); 41 void wlan_logging_set_log_to_console(bool log_to_console); 42 #else 43 static inline void wlan_flush_host_logs_for_fatal(void) {} 44 static inline void wlan_logging_set_per_pkt_stats(void) {} 45 static inline void wlan_logging_set_fw_flush_complete(void) {} 46 static inline void wlan_logging_set_active(bool active) {} 47 static inline void wlan_logging_set_log_to_console(bool log_to_console) {} 48 #endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */ 49 50 #if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && !defined(REMOVE_PKT_LOG) 51 void wlan_deregister_txrx_packetdump(void); 52 void wlan_register_txrx_packetdump(void); 53 #else 54 static inline void wlan_deregister_txrx_packetdump(void) {} 55 static inline void wlan_register_txrx_packetdump(void) {} 56 #endif 57 58 #if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && defined(FEATURE_WLAN_DIAG_SUPPORT) 59 void wlan_report_log_completion(uint32_t is_fatal, 60 uint32_t indicator, 61 uint32_t reason_code, 62 uint8_t ring_id); 63 #else 64 static inline void wlan_report_log_completion(uint32_t is_fatal, 65 uint32_t indicator, 66 uint32_t reason_code, 67 uint8_t ring_id) 68 { 69 return; 70 } 71 72 #endif /* FEATURE_WLAN_DIAG_SUPPORT */ 73 74 #if defined(CONFIG_MCL) && !defined(REMOVE_PKT_LOG) 75 void wlan_pkt_stats_to_logger_thread(void *pl_hdr, void *pkt_dump, void *data); 76 #else 77 static inline 78 void wlan_pkt_stats_to_logger_thread(void *pl_hdr, void *pkt_dump, void *data) 79 { 80 } 81 #endif 82 83 84 #endif /* WLAN_LOGGING_SOCK_SVC_H */ 85