Files
qt6-migration-pipeline/external/rti_connext_dds-7.7.0/include/ndds/netio/netio_log.h
T
torstenandCopilot 342ffd3e5c Update submodule to latest BUILD_RTI fixes
- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten
- svcTabCommon: Export-Header-Fix via Fallback-Target
- TrainingAreaBase: Stub-Header für BUILD_RTI=OFF
- ddsfts: Include-Pfad und Dependency-Fixes
- BUILD_RTI=OFF Compilation vollständig unterstützt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
2026-08-21 19:30:20 +02:00

223 lines
7.2 KiB
C

/*
* Copyright (c) 2024 Real-Time Innovations, Inc. All rights reserved.
* No duplications, whole or partial, manual or electronic, may be made
* without express written permission. Any such copies, or revisions thereof,
* must display this notice unaltered.
* This code contains trade secrets of Real-Time Innovations, Inc.
*/
#ifndef netio_log_h
#define netio_log_h
#ifndef osapi_ntptime_h
#include "osapi/osapi_ntptime.h"
#endif
#ifndef log_common_h
#include "log/log_common.h"
#endif
#ifndef reda_sequenceNumber_h
#include "reda/reda_sequenceNumber.h"
#endif
#include "netio/netio_dll.h"
#ifdef __cplusplus
extern "C" {
#endif
/* ================================================================= */
/* Main Documentation */
/* ================================================================= */
/*e \mainpage
*
* NETIO handles sending and receiving in a transport independent
* manner. It presents an abstract communication model that is
* independent of the network hardware and API, to the higher layers of
* NDDS. The NETIO Core handles difficult issues such as efficient
* state management and thread safety, so that the user pluggable
* transport can be simple.
*
* To plug in a new transport, implement the function prototypes
* described in \ref NDDS_Transport_PluginComponent, and install a
* transport instance using the \ref RTINetioConfiguratorComponent.
* The \ref RTINetioConfiguratorComponent, in conjunction with the \ref
* RTINetioSenderComponent and \ref RTINetioReceiverComponent, ensure
* that the correct transport plugin instances serve the appropriate
* entryport or destination request.
*
* - Infrastructure
* - \ref RTINetioLogComponent
* - \ref RTINetioCommonComponent
*
* - NETIO Core
* - \ref RTINetioConfiguratorComponent
* - \ref RTINetioSenderComponent
* - \ref RTINetioReceiverComponent
*
*/
/* ----------------------------------------------------------------- */
/* Component Hierarchy */
/*IGNORE \defgroup RTINetioComponent NETIO API Reference
* \ingroup RTIComponent
* \brief The NETIO component takes care of gather write and
* blocking/polled read using built-in and user supplied pluggable
* transports, using IPv6 address notation.
*/
/*e \defgroup RTINetioLogComponent Logging
* \ingroup RTINetioComponent
* \brief Logging utlities.
*/
/*e \defgroup RTINetioCommonComponent Common
* \ingroup RTINetioComponent
* \brief Common elements to all the components and pluggable transports.
*/
/*e \defgroup RTINetioConfiguratorComponent Configurator
* \ingroup RTINetioComponent
*
* \brief The Configurator component is responsible for installation of
* custom transport plugins, selection of the actual transport plugin
* instances used to send and receive mesages, and for updating
* internal NETIO state upon dynamic change events occuring in a
* transport plugin instance.
*/
/*e \defgroup RTINetioSenderComponent Sender
* \ingroup RTINetioComponent
*
* \brief Sender component is responsible for sending messages using a
* pluggable transport.
*
* @mtsafety See RTINetio_Sender_public UML diagram.
*/
/*e \defgroup RTINetioReceiverComponent Receiver
* \ingroup RTINetioComponent
*
* \brief Receiver component is responsible for receiving messages from
* a pluggable transport.
*/
/*e \defgroup NDDS_Transport_PluginComponent Transport
* \ingroup RTINetioComponent
*
* \brief Pluggable transport interface; this is all you need to know
* to implmement a new transport for NETIO.
*/
/* ================================================================= */
/* Component: Logging */
/* ================================================================= */
/*e \file
* \ingroup RTINetioLogComponent
*
* \brief Logging component interface and definitions. Also defines
* the organization and layout of the online API documentation.
*/
/* ================================================================= */
/* Log Messages */
/* ================================================================= */
/*e \defgroup RTINetioLogMessageClass RTINetioLogMessage
* \ingroup RTINetioLogComponent
* \brief Standard log message format strings with matching log message number.
* Use these message format strings to provide a common look and feel for
* Netio log messages.
*
* Example usage:
* \code
*
* ...
*
* RTINetioLog_exception(
* &RTI_NETIO_LOG_SHMEM_FAILED_TO_INIT_s,
* "incompatible properties");
* \endcode
*
* @see RTILogMessageClass
*/
/*e \ingroup RTINetioLogMessageClass
* \brief Not really a submodule per se, but a way to get unique number for
* transport API error code
* @see RTILogNumberBitmapClass
*/
#define SUBMODULE_NETIO_TRANSPORT (0x0000)
/*e \ingroup RTINetioLogMessageClass
* \brief Netio core submodule identifier. For use in log message numbers.
* @see RTILogNumberBitmapClass
*/
#define SUBMODULE_NETIO_CORE (0x1000)
/*e \ingroup RTINetioLogMessageClass
* \brief Netio transport table submodule identifier. For use in log message numbers.
* @see RTILogNumberBitmapClass
*/
#define SUBMODULE_NETIO_CONFIGURATOR (0x5000)
/*e \ingroup RTINetioLogMessageClass
* \brief Netio sender submodule identifier. For use in log message numbers.
* @see RTILogNumberBitmapClass
*/
#define SUBMODULE_NETIO_SENDER (0x6000)
/*e \ingroup RTINetioLogMessageClass
* \brief Netio receiver submodule identifier. For use in log message numbers.
* @see RTILogNumberBitmapClass
*/
#define SUBMODULE_NETIO_RECEIVER (0x7000)
/* ================================================================= */
/* Log Verbosity */
/* ================================================================= */
/*e \ingroup RTINetioLogVerbosityClass
* \brief Core submodule identifier. Used for enabling log messages
* in the core submodule.
* @see \c RTINetioLog_setBitmaps
*/
#define RTI_NETIO_SUBMODULE_MASK_COMMON (0x0001)
/*e \ingroup RTINetioLogVerbosityClass
* \brief Transport table submodule identifier. Used for enabling log messages
* in the transport table submodule.
* @see \c RTINetioLog_setBitmaps
*/
#define RTI_NETIO_SUBMODULE_MASK_CONFIGURATOR (0x0010)
/*e \ingroup RTINetioLogVerbosityClass
* \brief Sender submodule identifier. Used for enabling log messages
* in the sender submodule.
* @see \c RTINetioLog_setBitmaps
*/
#define RTI_NETIO_SUBMODULE_MASK_SENDER (0x0020)
/*e \ingroup RTINetioLogVerbosityClass
* \brief Receiver submodule identifier. Used for enabling log messages
* in the receiver submodule.
* @see \c RTINetioLog_setBitmaps
*/
#define RTI_NETIO_SUBMODULE_MASK_RECEIVER (0x0040)
/*e \ingroup RTINetioLogVerbosityClass
* \brief Convenient way to say "enable logging for all netio submodules".
* @see \c RTINetioLog_setBitmaps
*/
#define RTI_NETIO_SUBMODULE_MASK_ALL RTI_LOG_SUBMODULE_MASK_ALL
/*e \ingroup RTINetioLogMessageClass
* \brief Send failed. Specify destination.
*/
extern RTINetioDllVariable const struct RTILogMessage RTI_NETIO_LOG_SEND_FAILURE_s;
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* netio_log_h */