![](/media/cache/profiles/debfdc81854eac26ec993b55a659c6e1.jpg.50x50_q85.jpg)
mbed client on ethernet with LWIP
Dependencies: mbed Socket lwip-eth lwip-sys lwip
Fork of mbed-client-classic-example-lwip by
nanostack-libservice/mbed-client-libservice/ns_trace.h@11:cada08fc8a70, 2016-06-09 (annotated)
- Committer:
- mbedAustin
- Date:
- Thu Jun 09 17:08:36 2016 +0000
- Revision:
- 11:cada08fc8a70
Commit for public Consumption
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbedAustin | 11:cada08fc8a70 | 1 | /* |
mbedAustin | 11:cada08fc8a70 | 2 | * Copyright (c) 2015 ARM Limited. All rights reserved. |
mbedAustin | 11:cada08fc8a70 | 3 | * SPDX-License-Identifier: Apache-2.0 |
mbedAustin | 11:cada08fc8a70 | 4 | * Licensed under the Apache License, Version 2.0 (the License); you may |
mbedAustin | 11:cada08fc8a70 | 5 | * not use this file except in compliance with the License. |
mbedAustin | 11:cada08fc8a70 | 6 | * You may obtain a copy of the License at |
mbedAustin | 11:cada08fc8a70 | 7 | * |
mbedAustin | 11:cada08fc8a70 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
mbedAustin | 11:cada08fc8a70 | 9 | * |
mbedAustin | 11:cada08fc8a70 | 10 | * Unless required by applicable law or agreed to in writing, software |
mbedAustin | 11:cada08fc8a70 | 11 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT |
mbedAustin | 11:cada08fc8a70 | 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
mbedAustin | 11:cada08fc8a70 | 13 | * See the License for the specific language governing permissions and |
mbedAustin | 11:cada08fc8a70 | 14 | * limitations under the License. |
mbedAustin | 11:cada08fc8a70 | 15 | */ |
mbedAustin | 11:cada08fc8a70 | 16 | |
mbedAustin | 11:cada08fc8a70 | 17 | /** |
mbedAustin | 11:cada08fc8a70 | 18 | * \file ns_trace.h |
mbedAustin | 11:cada08fc8a70 | 19 | * Trace interface for NanoStack library as well as application. |
mbedAustin | 11:cada08fc8a70 | 20 | * This file provide simple but flexible way to handle software traces. |
mbedAustin | 11:cada08fc8a70 | 21 | * Trace library are abstract layer, which use stdout (printf) by default, |
mbedAustin | 11:cada08fc8a70 | 22 | * but outputs can be easily redirect to custom function, for example to |
mbedAustin | 11:cada08fc8a70 | 23 | * store traces to memory or other interfaces. |
mbedAustin | 11:cada08fc8a70 | 24 | * |
mbedAustin | 11:cada08fc8a70 | 25 | * usage example: |
mbedAustin | 11:cada08fc8a70 | 26 | * \code(main.c:) |
mbedAustin | 11:cada08fc8a70 | 27 | * #include "ns_trace.h" |
mbedAustin | 11:cada08fc8a70 | 28 | * #define TRACE_GROUP "main" |
mbedAustin | 11:cada08fc8a70 | 29 | * |
mbedAustin | 11:cada08fc8a70 | 30 | * int main(void){ |
mbedAustin | 11:cada08fc8a70 | 31 | * trace_init(); // initialize trace library |
mbedAustin | 11:cada08fc8a70 | 32 | * tr_debug("this is debug msg"); //print debug message to stdout: "[DBG] |
mbedAustin | 11:cada08fc8a70 | 33 | * tr_err("this is error msg"); |
mbedAustin | 11:cada08fc8a70 | 34 | * tr_warn("this is warning msg"); |
mbedAustin | 11:cada08fc8a70 | 35 | * tr_info("this is info msg"); |
mbedAustin | 11:cada08fc8a70 | 36 | * return 0; |
mbedAustin | 11:cada08fc8a70 | 37 | * } |
mbedAustin | 11:cada08fc8a70 | 38 | * \endcode |
mbedAustin | 11:cada08fc8a70 | 39 | * |
mbedAustin | 11:cada08fc8a70 | 40 | */ |
mbedAustin | 11:cada08fc8a70 | 41 | #ifndef NS_TRACE_H_ |
mbedAustin | 11:cada08fc8a70 | 42 | #define NS_TRACE_H_ |
mbedAustin | 11:cada08fc8a70 | 43 | #include "ns_types.h" |
mbedAustin | 11:cada08fc8a70 | 44 | |
mbedAustin | 11:cada08fc8a70 | 45 | #ifdef __cplusplus |
mbedAustin | 11:cada08fc8a70 | 46 | extern "C" { |
mbedAustin | 11:cada08fc8a70 | 47 | #endif |
mbedAustin | 11:cada08fc8a70 | 48 | |
mbedAustin | 11:cada08fc8a70 | 49 | /** 3 upper bits are trace modes related, |
mbedAustin | 11:cada08fc8a70 | 50 | and 5 lower bits are trace level configuration */ |
mbedAustin | 11:cada08fc8a70 | 51 | |
mbedAustin | 11:cada08fc8a70 | 52 | /** Config mask */ |
mbedAustin | 11:cada08fc8a70 | 53 | #define TRACE_MASK_CONFIG 0xE0 |
mbedAustin | 11:cada08fc8a70 | 54 | /** Trace level mask */ |
mbedAustin | 11:cada08fc8a70 | 55 | #define TRACE_MASK_LEVEL 0x1F |
mbedAustin | 11:cada08fc8a70 | 56 | |
mbedAustin | 11:cada08fc8a70 | 57 | /** plain trace data instead of "headers" */ |
mbedAustin | 11:cada08fc8a70 | 58 | #define TRACE_MODE_PLAIN 0x80 |
mbedAustin | 11:cada08fc8a70 | 59 | /** color mode */ |
mbedAustin | 11:cada08fc8a70 | 60 | #define TRACE_MODE_COLOR 0x40 |
mbedAustin | 11:cada08fc8a70 | 61 | /** Use print CR before trace line */ |
mbedAustin | 11:cada08fc8a70 | 62 | #define TRACE_CARRIAGE_RETURN 0x20 |
mbedAustin | 11:cada08fc8a70 | 63 | |
mbedAustin | 11:cada08fc8a70 | 64 | /** used to activate all trace levels */ |
mbedAustin | 11:cada08fc8a70 | 65 | #define TRACE_ACTIVE_LEVEL_ALL 0x1F |
mbedAustin | 11:cada08fc8a70 | 66 | /** print all traces same as above */ |
mbedAustin | 11:cada08fc8a70 | 67 | #define TRACE_ACTIVE_LEVEL_DEBUG 0x1f |
mbedAustin | 11:cada08fc8a70 | 68 | /** print info,warn and error traces */ |
mbedAustin | 11:cada08fc8a70 | 69 | #define TRACE_ACTIVE_LEVEL_INFO 0x0f |
mbedAustin | 11:cada08fc8a70 | 70 | /** print warn and error traces */ |
mbedAustin | 11:cada08fc8a70 | 71 | #define TRACE_ACTIVE_LEVEL_WARN 0x07 |
mbedAustin | 11:cada08fc8a70 | 72 | /** print only error trace */ |
mbedAustin | 11:cada08fc8a70 | 73 | #define TRACE_ACTIVE_LEVEL_ERROR 0x03 |
mbedAustin | 11:cada08fc8a70 | 74 | /** print only cmd line data */ |
mbedAustin | 11:cada08fc8a70 | 75 | #define TRACE_ACTIVE_LEVEL_CMD 0x01 |
mbedAustin | 11:cada08fc8a70 | 76 | /** trace nothing */ |
mbedAustin | 11:cada08fc8a70 | 77 | #define TRACE_ACTIVE_LEVEL_NONE 0x00 |
mbedAustin | 11:cada08fc8a70 | 78 | |
mbedAustin | 11:cada08fc8a70 | 79 | /** this print is some deep information for debug purpose */ |
mbedAustin | 11:cada08fc8a70 | 80 | #define TRACE_LEVEL_DEBUG 0x10 |
mbedAustin | 11:cada08fc8a70 | 81 | /** Info print, for general purpose prints */ |
mbedAustin | 11:cada08fc8a70 | 82 | #define TRACE_LEVEL_INFO 0x08 |
mbedAustin | 11:cada08fc8a70 | 83 | /** warning prints, which shouldn't causes any huge problems */ |
mbedAustin | 11:cada08fc8a70 | 84 | #define TRACE_LEVEL_WARN 0x04 |
mbedAustin | 11:cada08fc8a70 | 85 | /** Error prints, which causes probably problems, e.g. out of mem. */ |
mbedAustin | 11:cada08fc8a70 | 86 | #define TRACE_LEVEL_ERROR 0x02 |
mbedAustin | 11:cada08fc8a70 | 87 | /** special level for cmdline. Behaviours like "plain mode" */ |
mbedAustin | 11:cada08fc8a70 | 88 | #define TRACE_LEVEL_CMD 0x01 |
mbedAustin | 11:cada08fc8a70 | 89 | |
mbedAustin | 11:cada08fc8a70 | 90 | //usage macros: |
mbedAustin | 11:cada08fc8a70 | 91 | #define tr_info(...) tracef(TRACE_LEVEL_INFO, TRACE_GROUP, __VA_ARGS__) //!< Print info message |
mbedAustin | 11:cada08fc8a70 | 92 | #define tr_debug(...) tracef(TRACE_LEVEL_DEBUG, TRACE_GROUP, __VA_ARGS__) //!< Print debug message |
mbedAustin | 11:cada08fc8a70 | 93 | #define tr_warning(...) tracef(TRACE_LEVEL_WARN, TRACE_GROUP, __VA_ARGS__) //!< Print warning message |
mbedAustin | 11:cada08fc8a70 | 94 | #define tr_warn(...) tracef(TRACE_LEVEL_WARN, TRACE_GROUP, __VA_ARGS__) //!< Alternative warning message |
mbedAustin | 11:cada08fc8a70 | 95 | #define tr_error(...) tracef(TRACE_LEVEL_ERROR, TRACE_GROUP, __VA_ARGS__) //!< Print Error Message |
mbedAustin | 11:cada08fc8a70 | 96 | #define tr_err(...) tracef(TRACE_LEVEL_ERROR, TRACE_GROUP, __VA_ARGS__) //!< Alternative error message |
mbedAustin | 11:cada08fc8a70 | 97 | #define tr_cmdline(...) tracef(TRACE_LEVEL_CMD, TRACE_GROUP, __VA_ARGS__) //!< Special print for cmdline. See more from TRACE_LEVEL_CMD -level |
mbedAustin | 11:cada08fc8a70 | 98 | |
mbedAustin | 11:cada08fc8a70 | 99 | /** Possible to skip all traces in compile time */ |
mbedAustin | 11:cada08fc8a70 | 100 | #if defined(FEA_TRACE_SUPPORT) || defined(HAVE_DEBUG) || (defined(YOTTA_CFG) && !defined(NDEBUG)) /*backward compatible*/ |
mbedAustin | 11:cada08fc8a70 | 101 | |
mbedAustin | 11:cada08fc8a70 | 102 | #if defined __GNUC__ || defined __CC_ARM |
mbedAustin | 11:cada08fc8a70 | 103 | /** |
mbedAustin | 11:cada08fc8a70 | 104 | * Initialize trace functionality. This method must be called from application process. |
mbedAustin | 11:cada08fc8a70 | 105 | * @return 0 when all success, otherwise non zero |
mbedAustin | 11:cada08fc8a70 | 106 | */ |
mbedAustin | 11:cada08fc8a70 | 107 | int trace_init( void ); |
mbedAustin | 11:cada08fc8a70 | 108 | /** |
mbedAustin | 11:cada08fc8a70 | 109 | * Free trace memory. This method must be called from application process. |
mbedAustin | 11:cada08fc8a70 | 110 | */ |
mbedAustin | 11:cada08fc8a70 | 111 | void trace_free( void ); |
mbedAustin | 11:cada08fc8a70 | 112 | /** |
mbedAustin | 11:cada08fc8a70 | 113 | * Set trace configurations |
mbedAustin | 11:cada08fc8a70 | 114 | * Possible parameters: |
mbedAustin | 11:cada08fc8a70 | 115 | * |
mbedAustin | 11:cada08fc8a70 | 116 | * TRACE_MODE_COLOR |
mbedAustin | 11:cada08fc8a70 | 117 | * TRACE_MODE_PLAIN (this exclude color mode) |
mbedAustin | 11:cada08fc8a70 | 118 | * TRACE_CARRIAGE_RETURN (print CR before trace line) |
mbedAustin | 11:cada08fc8a70 | 119 | * |
mbedAustin | 11:cada08fc8a70 | 120 | * TRACE_ACTIVE_LEVEL_ALL - to activate all trace levels |
mbedAustin | 11:cada08fc8a70 | 121 | * or TRACE_ACTIVE_LEVEL_DEBUG (alternative) |
mbedAustin | 11:cada08fc8a70 | 122 | * TRACE_ACTIVE_LEVEL_INFO |
mbedAustin | 11:cada08fc8a70 | 123 | * TRACE_ACTIVE_LEVEL_WARN |
mbedAustin | 11:cada08fc8a70 | 124 | * TRACE_ACTIVE_LEVEL_ERROR |
mbedAustin | 11:cada08fc8a70 | 125 | * TRACE_ACTIVE_LEVEL_CMD |
mbedAustin | 11:cada08fc8a70 | 126 | * TRACE_LEVEL_NONE - to deactivate all traces |
mbedAustin | 11:cada08fc8a70 | 127 | * |
mbedAustin | 11:cada08fc8a70 | 128 | * @param config Byte size Bit-mask. Bits are descripted above. |
mbedAustin | 11:cada08fc8a70 | 129 | * usage e.g. |
mbedAustin | 11:cada08fc8a70 | 130 | * @code |
mbedAustin | 11:cada08fc8a70 | 131 | * set_trace_config( TRACE_ACTIVE_LEVEL_ALL|TRACE_MODE_COLOR ); |
mbedAustin | 11:cada08fc8a70 | 132 | * @endcode |
mbedAustin | 11:cada08fc8a70 | 133 | */ |
mbedAustin | 11:cada08fc8a70 | 134 | void set_trace_config(uint8_t config); |
mbedAustin | 11:cada08fc8a70 | 135 | /** get trace configurations |
mbedAustin | 11:cada08fc8a70 | 136 | * @return trace configuration byte |
mbedAustin | 11:cada08fc8a70 | 137 | */ |
mbedAustin | 11:cada08fc8a70 | 138 | uint8_t get_trace_config(void); |
mbedAustin | 11:cada08fc8a70 | 139 | /** |
mbedAustin | 11:cada08fc8a70 | 140 | * Set trace prefix function |
mbedAustin | 11:cada08fc8a70 | 141 | * pref_f -function return string with null terminated |
mbedAustin | 11:cada08fc8a70 | 142 | * Can be used for e.g. time string |
mbedAustin | 11:cada08fc8a70 | 143 | * e.g. |
mbedAustin | 11:cada08fc8a70 | 144 | * char* trace_time(){ return "rtc-time-in-string"; } |
mbedAustin | 11:cada08fc8a70 | 145 | * set_trace_prefix_function( &trace_time ); |
mbedAustin | 11:cada08fc8a70 | 146 | */ |
mbedAustin | 11:cada08fc8a70 | 147 | void set_trace_prefix_function( char* (*pref_f)(size_t) ); |
mbedAustin | 11:cada08fc8a70 | 148 | /** |
mbedAustin | 11:cada08fc8a70 | 149 | * Set trace suffix function |
mbedAustin | 11:cada08fc8a70 | 150 | * suffix -function return string with null terminated |
mbedAustin | 11:cada08fc8a70 | 151 | * Can be used for e.g. time string |
mbedAustin | 11:cada08fc8a70 | 152 | * e.g. |
mbedAustin | 11:cada08fc8a70 | 153 | * char* trace_suffix(){ return " END"; } |
mbedAustin | 11:cada08fc8a70 | 154 | * set_trace_suffix_function( &trace_suffix ); |
mbedAustin | 11:cada08fc8a70 | 155 | */ |
mbedAustin | 11:cada08fc8a70 | 156 | void set_trace_suffix_function(char* (*suffix_f)(void) ); |
mbedAustin | 11:cada08fc8a70 | 157 | /** |
mbedAustin | 11:cada08fc8a70 | 158 | * Set trace print function |
mbedAustin | 11:cada08fc8a70 | 159 | * By default, trace module print using printf() function, |
mbedAustin | 11:cada08fc8a70 | 160 | * but with this you can write own print function, |
mbedAustin | 11:cada08fc8a70 | 161 | * for e.g. to other IO device. |
mbedAustin | 11:cada08fc8a70 | 162 | */ |
mbedAustin | 11:cada08fc8a70 | 163 | void set_trace_print_function( void (*print_f)(const char*) ); |
mbedAustin | 11:cada08fc8a70 | 164 | /** |
mbedAustin | 11:cada08fc8a70 | 165 | * Set trace print function for tr_cmdline() |
mbedAustin | 11:cada08fc8a70 | 166 | */ |
mbedAustin | 11:cada08fc8a70 | 167 | void set_trace_cmdprint_function( void (*printf)(const char*) ); |
mbedAustin | 11:cada08fc8a70 | 168 | /** |
mbedAustin | 11:cada08fc8a70 | 169 | * When trace group contains text in filters, |
mbedAustin | 11:cada08fc8a70 | 170 | * trace print will be ignored. |
mbedAustin | 11:cada08fc8a70 | 171 | * e.g.: |
mbedAustin | 11:cada08fc8a70 | 172 | * set_trace_exclude_filters("mygr"); |
mbedAustin | 11:cada08fc8a70 | 173 | * tracef(TRACE_ACTIVE_LEVEL_DEBUG, "ougr", "This is not printed"); |
mbedAustin | 11:cada08fc8a70 | 174 | */ |
mbedAustin | 11:cada08fc8a70 | 175 | void set_trace_exclude_filters(char* filters); |
mbedAustin | 11:cada08fc8a70 | 176 | /** get trace exclude filters |
mbedAustin | 11:cada08fc8a70 | 177 | */ |
mbedAustin | 11:cada08fc8a70 | 178 | const char* get_trace_exclude_filters(void); |
mbedAustin | 11:cada08fc8a70 | 179 | /** |
mbedAustin | 11:cada08fc8a70 | 180 | * When trace group contains text in filter, |
mbedAustin | 11:cada08fc8a70 | 181 | * trace will be printed. |
mbedAustin | 11:cada08fc8a70 | 182 | * e.g.: |
mbedAustin | 11:cada08fc8a70 | 183 | * set_trace_include_filters("mygr"); |
mbedAustin | 11:cada08fc8a70 | 184 | * tracef(TRACE_ACTIVE_LEVEL_DEBUG, "mygr", "Hi There"); |
mbedAustin | 11:cada08fc8a70 | 185 | * tracef(TRACE_ACTIVE_LEVEL_DEBUG, "grp2", "This is not printed"); |
mbedAustin | 11:cada08fc8a70 | 186 | */ |
mbedAustin | 11:cada08fc8a70 | 187 | void set_trace_include_filters(char* filters); |
mbedAustin | 11:cada08fc8a70 | 188 | /** get trace include filters |
mbedAustin | 11:cada08fc8a70 | 189 | */ |
mbedAustin | 11:cada08fc8a70 | 190 | const char* get_trace_include_filters(void); |
mbedAustin | 11:cada08fc8a70 | 191 | /** |
mbedAustin | 11:cada08fc8a70 | 192 | * General trace function |
mbedAustin | 11:cada08fc8a70 | 193 | * This should be used every time when user want to print out something important thing |
mbedAustin | 11:cada08fc8a70 | 194 | * Usage e.g. |
mbedAustin | 11:cada08fc8a70 | 195 | * tracef( TRACE_LEVEL_INFO, "mygr", "Hello world!"); |
mbedAustin | 11:cada08fc8a70 | 196 | * |
mbedAustin | 11:cada08fc8a70 | 197 | * @param dlevel debug level |
mbedAustin | 11:cada08fc8a70 | 198 | * @param grp trace group |
mbedAustin | 11:cada08fc8a70 | 199 | * @param fmt trace format (like printf) |
mbedAustin | 11:cada08fc8a70 | 200 | * @param ... variable arguments related to fmt |
mbedAustin | 11:cada08fc8a70 | 201 | */ |
mbedAustin | 11:cada08fc8a70 | 202 | void tracef(uint8_t dlevel, const char* grp, const char *fmt, ...) __attribute__ ((__format__(__printf__, 3, 4))); |
mbedAustin | 11:cada08fc8a70 | 203 | /** |
mbedAustin | 11:cada08fc8a70 | 204 | * Get last trace from buffer |
mbedAustin | 11:cada08fc8a70 | 205 | */ |
mbedAustin | 11:cada08fc8a70 | 206 | const char* trace_last(void); |
mbedAustin | 11:cada08fc8a70 | 207 | /** |
mbedAustin | 11:cada08fc8a70 | 208 | * tracef helping function for convert ipv6 |
mbedAustin | 11:cada08fc8a70 | 209 | * table to human readable string. |
mbedAustin | 11:cada08fc8a70 | 210 | * usage e.g. |
mbedAustin | 11:cada08fc8a70 | 211 | * char ipv6[16] = {...}; // ! array length is 16 bytes ! |
mbedAustin | 11:cada08fc8a70 | 212 | * tracef(TRACE_LEVEL_INFO, "mygr", "ipv6 addr: %s", trace_ipv6(ipv6)); |
mbedAustin | 11:cada08fc8a70 | 213 | * |
mbedAustin | 11:cada08fc8a70 | 214 | * @param add_ptr IPv6 Address pointer |
mbedAustin | 11:cada08fc8a70 | 215 | * @return temporary buffer where ipv6 is in string format |
mbedAustin | 11:cada08fc8a70 | 216 | */ |
mbedAustin | 11:cada08fc8a70 | 217 | char* trace_ipv6(const void *addr_ptr); |
mbedAustin | 11:cada08fc8a70 | 218 | /** |
mbedAustin | 11:cada08fc8a70 | 219 | * tracef helping function for print ipv6 prefix |
mbedAustin | 11:cada08fc8a70 | 220 | * usage e.g. |
mbedAustin | 11:cada08fc8a70 | 221 | * char ipv6[16] = {...}; // ! array length is 16 bytes ! |
mbedAustin | 11:cada08fc8a70 | 222 | * tracef(TRACE_LEVEL_INFO, "mygr", "ipv6 addr: %s", trace_ipv6_prefix(ipv6, 4)); |
mbedAustin | 11:cada08fc8a70 | 223 | * |
mbedAustin | 11:cada08fc8a70 | 224 | * @param prefix IPv6 Address pointer |
mbedAustin | 11:cada08fc8a70 | 225 | * @param prefix_len prefix length |
mbedAustin | 11:cada08fc8a70 | 226 | * @return temporary buffer where ipv6 is in string format |
mbedAustin | 11:cada08fc8a70 | 227 | */ |
mbedAustin | 11:cada08fc8a70 | 228 | char* trace_ipv6_prefix(const uint8_t *prefix, uint8_t prefix_len); |
mbedAustin | 11:cada08fc8a70 | 229 | /** |
mbedAustin | 11:cada08fc8a70 | 230 | * tracef helping function for convert hex-array to string. |
mbedAustin | 11:cada08fc8a70 | 231 | * usage e.g. |
mbedAustin | 11:cada08fc8a70 | 232 | * char myarr[] = {0x10, 0x20}; |
mbedAustin | 11:cada08fc8a70 | 233 | * tracef(TRACE_LEVEL_INFO, "mygr", "arr: %s", trace_array(myarr, 2)); |
mbedAustin | 11:cada08fc8a70 | 234 | * |
mbedAustin | 11:cada08fc8a70 | 235 | * @param buf hex array pointer |
mbedAustin | 11:cada08fc8a70 | 236 | * @param len buffer length |
mbedAustin | 11:cada08fc8a70 | 237 | * @return temporary buffer where string copied |
mbedAustin | 11:cada08fc8a70 | 238 | */ |
mbedAustin | 11:cada08fc8a70 | 239 | char* trace_array(const uint8_t* buf, uint16_t len); |
mbedAustin | 11:cada08fc8a70 | 240 | |
mbedAustin | 11:cada08fc8a70 | 241 | |
mbedAustin | 11:cada08fc8a70 | 242 | /* |
mbedAustin | 11:cada08fc8a70 | 243 | * obsolete - only because of backward compatible reason |
mbedAustin | 11:cada08fc8a70 | 244 | * As soon as all these functions are replaced by new tracef() function, these can be removed. |
mbedAustin | 11:cada08fc8a70 | 245 | */ |
mbedAustin | 11:cada08fc8a70 | 246 | |
mbedAustin | 11:cada08fc8a70 | 247 | /** obsolete function */ |
mbedAustin | 11:cada08fc8a70 | 248 | void debugf(const char *fmt, ...) __attribute__ ((__format__(__printf__, 1, 2))); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 249 | void debug(const char *s); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 250 | void debug_put(char c); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 251 | void debug_hex(uint8_t x); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 252 | void debug_int(int i); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 253 | void printf_array(const void *buf, uint16_t len); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 254 | void printf_string(const void *buf, uint16_t len); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 255 | void printf_ipv6_address(const void *addr); //!< obsolete function |
mbedAustin | 11:cada08fc8a70 | 256 | |
mbedAustin | 11:cada08fc8a70 | 257 | #else //__GNUC__ || __CC_ARM |
mbedAustin | 11:cada08fc8a70 | 258 | int trace_init( void ); |
mbedAustin | 11:cada08fc8a70 | 259 | void trace_free( void ); |
mbedAustin | 11:cada08fc8a70 | 260 | void set_trace_config(uint8_t config); |
mbedAustin | 11:cada08fc8a70 | 261 | void set_trace_prefix_function( char* (*pref_f)(size_t) ); |
mbedAustin | 11:cada08fc8a70 | 262 | void set_trace_print_function( void (*print_f)(const char*) ); |
mbedAustin | 11:cada08fc8a70 | 263 | void set_trace_cmdprint_function( void (*printf)(const char*) ); |
mbedAustin | 11:cada08fc8a70 | 264 | void set_trace_exclude_filters(char* filters); |
mbedAustin | 11:cada08fc8a70 | 265 | const char* get_trace_exclude_filters(void); |
mbedAustin | 11:cada08fc8a70 | 266 | void set_trace_include_filters(char* filters); |
mbedAustin | 11:cada08fc8a70 | 267 | const char* get_trace_include_filters(void); |
mbedAustin | 11:cada08fc8a70 | 268 | void tracef(uint8_t dlevel, const char* grp, const char *fmt, ...); |
mbedAustin | 11:cada08fc8a70 | 269 | char* trace_ipv6(const void *addr_ptr); |
mbedAustin | 11:cada08fc8a70 | 270 | char* trace_array(const uint8_t* buf, uint16_t len); |
mbedAustin | 11:cada08fc8a70 | 271 | char* trace_ipv6_prefix(const uint8_t *prefix, uint8_t prefix_len); |
mbedAustin | 11:cada08fc8a70 | 272 | |
mbedAustin | 11:cada08fc8a70 | 273 | //obsolete functions: |
mbedAustin | 11:cada08fc8a70 | 274 | void debugf(const char *fmt, ...); |
mbedAustin | 11:cada08fc8a70 | 275 | void debug(const char *s); |
mbedAustin | 11:cada08fc8a70 | 276 | void debug_put(char c); |
mbedAustin | 11:cada08fc8a70 | 277 | void debug_hex(uint8_t x); |
mbedAustin | 11:cada08fc8a70 | 278 | void debug_int(int i); |
mbedAustin | 11:cada08fc8a70 | 279 | void printf_array(const void *buf, uint16_t len); |
mbedAustin | 11:cada08fc8a70 | 280 | void printf_string(const void *buf, uint16_t len); |
mbedAustin | 11:cada08fc8a70 | 281 | void printf_ipv6_address(const void *addr); |
mbedAustin | 11:cada08fc8a70 | 282 | |
mbedAustin | 11:cada08fc8a70 | 283 | #endif |
mbedAustin | 11:cada08fc8a70 | 284 | |
mbedAustin | 11:cada08fc8a70 | 285 | |
mbedAustin | 11:cada08fc8a70 | 286 | #else /*FEA_TRACE_SUPPORT*/ |
mbedAustin | 11:cada08fc8a70 | 287 | |
mbedAustin | 11:cada08fc8a70 | 288 | // trace functionality not supported |
mbedAustin | 11:cada08fc8a70 | 289 | #define trace_init(...) ((int) 0) |
mbedAustin | 11:cada08fc8a70 | 290 | #define trace_free(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 291 | #define set_trace_config(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 292 | #define set_trace_prefix_function(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 293 | #define set_trace_print_function(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 294 | #define set_trace_cmdprint_function(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 295 | #define set_trace_exclude_filters(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 296 | #define set_trace_include_filters(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 297 | #define get_trace_exclude_filters(...) ((const char*) 0) |
mbedAustin | 11:cada08fc8a70 | 298 | #define get_trace_include_filters(...) ((const char*) 0) |
mbedAustin | 11:cada08fc8a70 | 299 | |
mbedAustin | 11:cada08fc8a70 | 300 | #define tracef(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 301 | #define trace_ipv6(...) ((char*) 0) |
mbedAustin | 11:cada08fc8a70 | 302 | #define trace_array(...) ((char*) 0) |
mbedAustin | 11:cada08fc8a70 | 303 | #define trace_ipv6_prefix(...) ((char*) 0) |
mbedAustin | 11:cada08fc8a70 | 304 | |
mbedAustin | 11:cada08fc8a70 | 305 | //obsolete |
mbedAustin | 11:cada08fc8a70 | 306 | #define debugf(...) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 307 | #define debug(s) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 308 | #define debug_put(c) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 309 | #define debug_hex(x) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 310 | #define debug_int(i) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 311 | #define printf_array(buf, len) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 312 | #define printf_string(buf, len) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 313 | #define printf_ipv6_address(addr) ((void) 0) |
mbedAustin | 11:cada08fc8a70 | 314 | |
mbedAustin | 11:cada08fc8a70 | 315 | #endif /*FEA_TRACE_SUPPORT*/ |
mbedAustin | 11:cada08fc8a70 | 316 | |
mbedAustin | 11:cada08fc8a70 | 317 | #ifdef __cplusplus |
mbedAustin | 11:cada08fc8a70 | 318 | } |
mbedAustin | 11:cada08fc8a70 | 319 | #endif |
mbedAustin | 11:cada08fc8a70 | 320 | #endif /* NS_TRACE_H_ */ |