blob: 65ecea1f2dab73f496f1f96ef8b01d38413bf26c [file] [log] [blame]
// Copyright 2016 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_CPP_RAW_LOG_SETTINGS_H_
#define LIB_SYSLOG_STRUCTURED_BACKEND_CPP_RAW_LOG_SETTINGS_H_
#include <lib/async/dispatcher.h>
#include <lib/syslog/structured_backend/fuchsia_syslog.h>
#include <zircon/availability.h>
namespace fuchsia_logging {
// This *must* be ABI stable.
struct RawLogSettings {
FuchsiaLogSeverity min_log_level = FUCHSIA_LOG_INFO;
zx_handle_t log_sink = ZX_HANDLE_INVALID;
const char* const* tags = nullptr;
size_t tags_count = 0;
async_dispatcher_t* dispatcher = nullptr;
void (*severity_change_callback)(void* context, uint8_t severity) = nullptr;
void* severity_change_callback_context = nullptr;
uint64_t reserved[10] = {};
};
// Prevent surprises...
static_assert(sizeof(RawLogSettings) == 128);
} // namespace fuchsia_logging
#endif // LIB_SYSLOG_STRUCTURED_BACKEND_CPP_RAW_LOG_SETTINGS_H_