bcm2835gpio: Fix incorrect GPIO validation
[fw/openocd] / src / helper / log.h
index d60587f72c4ce3f72cfb38ebd36d2ee7f48786f0..f0378ae7946c64b17aa7152e74e5601086767372 100644 (file)
@@ -40,7 +40,7 @@
  * LOG_LVL_SILENT - turn off all output. In lieu of try + catch this can be used as a
  *                  feeble ersatz.
  * LOG_LVL_USER - user messages. Could be anything from information
- *                to progress messags. These messages do not represent
+ *                to progress messages. These messages do not represent
  *                incorrect or unexpected behaviour, just normal execution.
  * LOG_LVL_ERROR - fatal errors, that are likely to cause program abort
  * LOG_LVL_WARNING - non-fatal errors, that may be resolved later
@@ -72,6 +72,7 @@ __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 5, 6)));
  * Initialize logging module.  Call during program startup.
  */
 void log_init(void);
+void log_exit(void);
 int set_log_output(struct command_context *cmd_ctx, FILE *output);
 
 int log_register_commands(struct command_context *cmd_ctx);
@@ -82,6 +83,8 @@ void kept_alive(void);
 void alive_sleep(uint64_t ms);
 void busy_sleep(uint64_t ms);
 
+void log_socket_error(const char *socket_desc);
+
 typedef void (*log_callback_fn)(void *priv, const char *file, unsigned line,
                const char *function, const char *string);
 
@@ -95,7 +98,10 @@ int log_add_callback(log_callback_fn fn, void *priv);
 int log_remove_callback(log_callback_fn fn, void *priv);
 
 char *alloc_vprintf(const char *fmt, va_list ap);
-char *alloc_printf(const char *fmt, ...);
+char *alloc_printf(const char *fmt, ...)
+       __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 1, 2)));
+
+char *find_nonprint_char(char *buf, unsigned buf_len);
 
 extern int debug_level;
 
@@ -138,6 +144,23 @@ extern int debug_level;
 #define LOG_OUTPUT(expr ...) \
        log_printf(LOG_LVL_OUTPUT, __FILE__, __LINE__, __func__, expr)
 
+/* Output a log entry that is related to a given target */
+
+#define LOG_TARGET_DEBUG_IO(target, fmt_str, ...) \
+       LOG_DEBUG_IO("[%s] " fmt_str, target_name(target), ##__VA_ARGS__)
+
+#define LOG_TARGET_DEBUG(target, fmt_str, ...) \
+       LOG_DEBUG("[%s] " fmt_str, target_name(target), ##__VA_ARGS__)
+
+#define LOG_TARGET_INFO(target, fmt_str, ...) \
+       LOG_INFO("[%s] " fmt_str, target_name(target), ##__VA_ARGS__)
+
+#define LOG_TARGET_WARNING(target, fmt_str, ...) \
+       LOG_WARNING("[%s] " fmt_str, target_name(target), ##__VA_ARGS__)
+
+#define LOG_TARGET_ERROR(target, fmt_str, ...) \
+       LOG_ERROR("[%s] " fmt_str, target_name(target), ##__VA_ARGS__)
+
 /* general failures
  * error codes < 100
  */
@@ -151,6 +174,7 @@ extern int debug_level;
 #define ERROR_WAIT                                             (-5)
 /* ERROR_TIMEOUT is already taken by winerror.h. */
 #define ERROR_TIMEOUT_REACHED                  (-6)
+#define ERROR_NOT_IMPLEMENTED                  (-7)
 
 
 #endif /* OPENOCD_HELPER_LOG_H */