summaryrefslogtreecommitdiff
path: root/src/libs/mynewt-nimble/porting/nimble/include/log_common
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-02-02 22:09:00 +0100
committerJean-François Milants <jf@codingfield.com>2021-02-02 22:09:00 +0100
commitd90b7274fa8bbfa09f79660b45b550d91f7b0125 (patch)
tree434e4aa362b0083eb9df7bea4f1358787174e5b4 /src/libs/mynewt-nimble/porting/nimble/include/log_common
parent9c35b6fe5dc889b589b979dd7c650c70f302854b (diff)
Update to nimble 1.3 master branch commit 82153e744833821e20e9a8b0d61c38b2b0dbcfe1
WARNING : heartbeat task is disabled!
Diffstat (limited to 'src/libs/mynewt-nimble/porting/nimble/include/log_common')
-rw-r--r--src/libs/mynewt-nimble/porting/nimble/include/log_common/log_common.h105
1 files changed, 104 insertions, 1 deletions
diff --git a/src/libs/mynewt-nimble/porting/nimble/include/log_common/log_common.h b/src/libs/mynewt-nimble/porting/nimble/include/log_common/log_common.h
index 106d02d7..ed590b6b 100644
--- a/src/libs/mynewt-nimble/porting/nimble/include/log_common/log_common.h
+++ b/src/libs/mynewt-nimble/porting/nimble/include/log_common/log_common.h
@@ -20,20 +20,123 @@
#ifndef H_LOG_COMMON_
#define H_LOG_COMMON_
+#include <stdint.h>
#include "log_common/ignore.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct log;
+
+#define LOG_VERSION_V3 3
+
+#define LOG_TYPE_STREAM (0)
+#define LOG_TYPE_MEMORY (1)
+#define LOG_TYPE_STORAGE (2)
+
#define LOG_LEVEL_DEBUG (0)
#define LOG_LEVEL_INFO (1)
#define LOG_LEVEL_WARN (2)
#define LOG_LEVEL_ERROR (3)
#define LOG_LEVEL_CRITICAL (4)
-/* Up to 7 custom log levels. */
+/* Up to 10 custom log levels. */
#define LOG_LEVEL_MAX (15)
+#define LOG_LEVEL_STR(level) \
+ (LOG_LEVEL_DEBUG == level ? "DEBUG" :\
+ (LOG_LEVEL_INFO == level ? "INFO" :\
+ (LOG_LEVEL_WARN == level ? "WARN" :\
+ (LOG_LEVEL_ERROR == level ? "ERROR" :\
+ (LOG_LEVEL_CRITICAL == level ? "CRITICAL" :\
+ "UNKNOWN")))))
+
+/* XXX: These module IDs are defined for backwards compatibility. Application
+ * code should use the syscfg settings directly. These defines will be removed
+ * in a future release.
+ */
+#define LOG_MODULE_DEFAULT 0
+#define LOG_MODULE_OS 1
+#define LOG_MODULE_NEWTMGR 2
+#define LOG_MODULE_NIMBLE_CTLR 3
+#define LOG_MODULE_NIMBLE_HOST 4
+#define LOG_MODULE_NFFS 5
+#define LOG_MODULE_REBOOT 6
+#define LOG_MODULE_IOTIVITY 7
+#define LOG_MODULE_TEST 8
+
+#define LOG_MODULE_PERUSER 64
+#define LOG_MODULE_MAX (255)
+
+#define LOG_ETYPE_STRING (0)
+#define LOG_ETYPE_CBOR (1)
+#define LOG_ETYPE_BINARY (2)
+
+/* UTC Timestamp for Jan 2016 00:00:00 */
+#define UTC01_01_2016 1451606400
+
+#define LOG_NAME_MAX_LEN (64)
+
+#ifndef MYNEWT_VAL_LOG_LEVEL
+#define LOG_SYSLEVEL ((uint8_t)LOG_LEVEL_MAX)
+#else
+#define LOG_SYSLEVEL ((uint8_t)MYNEWT_VAL_LOG_LEVEL)
+#endif
+
+/**
+ * @brief Determines if a log module will accept an entry with a given level.
+ *
+ * A log entry is only accepted if its level is less than or equal to both:
+ * o Global log level setting (LOG_LEVEL), and
+ * o The specified module log level
+ *
+ * @param mod_level The module's minimum log level.
+ * @param entry_level The level of the entry to be logged.
+ *
+ * @return true if the entry would be logged;
+ * false otherwise.
+ */
+#define LOG_MOD_LEVEL_IS_ACTIVE(mod_level, entry_level) \
+ (LOG_LEVEL <= (entry_level) && (mod_level) <= (entry_level))
+
+/* Newtmgr Log opcodes */
+#define LOGS_NMGR_OP_READ (0)
+#define LOGS_NMGR_OP_CLEAR (1)
+#define LOGS_NMGR_OP_APPEND (2)
+#define LOGS_NMGR_OP_MODULE_LIST (3)
+#define LOGS_NMGR_OP_LEVEL_LIST (4)
+#define LOGS_NMGR_OP_LOGS_LIST (5)
+#define LOGS_NMGR_OP_SET_WATERMARK (6)
+#define LOGS_NMGR_OP_MODLEVEL (8)
+
+#define LOG_PRINTF_MAX_ENTRY_LEN (128)
+
+/* Global log info */
+struct log_info {
+#if MYNEWT_VAL(LOG_GLOBAL_IDX)
+ uint32_t li_next_index;
+#endif
+ uint8_t li_version;
+};
+
+extern struct log_info g_log_info;
+
+/** @typedef log_append_cb
+ * @brief Callback that is executed each time the corresponding log is appended
+ * to.
+ *
+ * @param log The log that was just appended to.
+ * @param idx The index of newly appended log entry.
+ */
+typedef void log_append_cb(struct log *log, uint32_t idx);
+
+/** @typdef log_notify_rotate_cb
+ * @brief Callback that is executed each time we are about to rotate a log.
+ *
+ * @param log The log that is about to rotate
+ */
+typedef void log_notify_rotate_cb(const struct log *log);
+
#ifdef __cplusplus
}
#endif