blob: 983c978e1466adf3b4e6fad63289a0763d4175f2 [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef LIB_SYSLOG_STRUCTURED_BACKEND_FUCHSIA_SYSLOG_H_
#define LIB_SYSLOG_STRUCTURED_BACKEND_FUCHSIA_SYSLOG_H_
#include <assert.h>
#include <stdint.h>
#include <zircon/compiler.h>
__BEGIN_CDECLS
// REVIEWERS: DO NOT +2 any changes to this header
// file unless this number is incremented with each change.
#define FUCHSIA_LOG_API_VERSION (0)
typedef int8_t FuchsiaLogSeverity;
// Default log levels.
#define FUCHSIA_LOG_TRACE ((FuchsiaLogSeverity)0x10)
#define FUCHSIA_LOG_DEBUG ((FuchsiaLogSeverity)0x20)
#define FUCHSIA_LOG_INFO ((FuchsiaLogSeverity)0x30)
#define FUCHSIA_LOG_WARNING ((FuchsiaLogSeverity)0x40)
#define FUCHSIA_LOG_ERROR ((FuchsiaLogSeverity)0x50)
#define FUCHSIA_LOG_FATAL ((FuchsiaLogSeverity)0x60)
#define FUCHSIA_LOG_NONE ((FuchsiaLogSeverity)0x7F)
#define FUCHSIA_LOG_SEVERITY_STEP_SIZE ((uint8_t)0x10)
#define FUCHSIA_LOG_VERBOSITY_STEP_SIZE ((uint8_t)0x1)
// Assert that log levels are in ascending order.
// Numeric comparison is generally used to determine whether to log.
static_assert(FUCHSIA_LOG_TRACE < FUCHSIA_LOG_DEBUG, "");
static_assert(FUCHSIA_LOG_DEBUG < FUCHSIA_LOG_INFO, "");
static_assert(FUCHSIA_LOG_INFO < FUCHSIA_LOG_WARNING, "");
static_assert(FUCHSIA_LOG_WARNING < FUCHSIA_LOG_ERROR, "");
static_assert(FUCHSIA_LOG_ERROR < FUCHSIA_LOG_FATAL, "");
static_assert(FUCHSIA_LOG_FATAL < FUCHSIA_LOG_NONE, "");
// Max size of log buffer
#define FUCHSIA_SYSLOG_BUFFER_SIZE ((1 << 15) / 8)
// Additional storage for internal log state.
#define FUCHSIA_SYSLOG_STATE_SIZE (15)
__END_CDECLS
#endif // LIB_SYSLOG_STRUCTURED_BACKEND_FUCHSIA_SYSLOG_H_