/* * (c) Copyright, Real-Time Innovations, 2002-2024. * 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 osapi_log_h #define osapi_log_h #include "log/log_common.h" #include "osapi/osapi_dll.h" #ifdef __cplusplus extern "C" { #endif /** @internal \file * \brief Encapsulates OS specific functions to provide OS independent API */ /** @internal \mainpage * RTI OSAPI is a C-based operating system abstraction allowing * software to be written to a common API and deployed in all RTI-supported * OSs. These include VxWorks, Unix, and Windows among others. * * RTI OSAPI is composed of several modules providing * the most common facilities such as Threads, Semaphores, Message queues, * and shared memory. */ /* NOTE: When a new submodule is added to OSAPI, it must be given * a number and entered here. Because of the use of this id * for logging, there are 16 submodule id's: 0x0000, 0x1000,... * ..., 0xF000. * It is suggested we put the modules here in an order that * respects their dependencies: modules with a lower number * cannot depend on modules with a higher number. */ #define SUBMODULE_OSAPI_UTILITY (0x1000) #define SUBMODULE_OSAPI_MEMORY (0x2000) #define SUBMODULE_OSAPI_HASH (0x3000) #define SUBMODULE_OSAPI_SOCKET (0x4000) #define SUBMODULE_OSAPI_CONCURRENCY (0x5000) #define SUBMODULE_OSAPI_THREAD (0x6000) #define SUBMODULE_OSAPI_PROCESS (0x7000) #define SUBMODULE_OSAPI_SHARED_MEMORY (0x8000) #define SUBMODULE_OSAPI_THREAD_FACTORY (0x9000) #define SUBMODULE_OSAPI_LIBRARY (0xA000) #define SUBMODULE_OSAPI_COMPRESSION (0xB000) /** @internal \defgroup RTIOsapiModule RTIOsapi * \ingroup RTI * \brief OS independent layer */ /** @internal \defgroup RTIOsapiLogClass RTIOsapiLog * \ingroup RTIOsapiModule * @brief logging messages inside this module. * * It is intended to be used in connection with RTI's Logging facility. * * The RTIOsapi_log methods defined by this module all presume that the * following two valiables are defined at the point where the macro is * invoked. \c RTI_OSAPI_LOG_CURRENT_SUBMODULE \c METHOD_NAME * * The intent is that \c RTI_OSAPI_LOG_CURRENT_SUBMODULE will be specified via a * \c #define at the file level, and that \c RTI_LOG_METHOD_NAME will be * specified as a local static variable in the method. */ /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_UTILITY (0x0001) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_MEMORY (0x0002) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_SOCKET (0x0004) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_CONCURRENCY (0x0008) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_THREAD (0x0010) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_PROCESS (0x0020) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_SHARED_MEMORY (0x0040) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_THREAD_FACTORY (0x0080) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_LIBRARY (0x0100) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_COMPRESSION (0x0200) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_CONTEXT (0x0400) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_HASH (0x0800) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_RWLOCK (0x1000) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_BASE64 (0x2000) /** @internal \ingroup RTIOsapiLogClass */ #define RTI_OSAPI_SUBMODULE_MASK_ALL RTI_LOG_SUBMODULE_MASK_ALL extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SHM_LOG_INUSE_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SHM_LOG_NOEXIST_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SHM_LOG_BOUND_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SHM_LOG_ATTACHED_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SHM_LOG_DETACHED_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SHM_LOG_DELETED_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SHM_LOG_NOTOWNER_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_INTERFACE_INFO_ssX; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_IOCTL_FAILURE_sX; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_GETSOCKOPT_FAILURE_sX; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_SETSOCKOPT_FAILURE_sX; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_RESOLVER_FAILURE_sXs; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_RESOLVER_FAILURE_sXss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_INTERFACE_FLAG_XX; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_REG_FAILURE_sd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_SOCKET_LOG_REPORT_INT_sd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_PROCESS_LOG_FAILURE_BAD_DEVICE_NAME_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_PROCESS_LOG_FOUND_INTERFACE_ADDRESS_sd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_PROCESS_LOG_FOUND_VALID_INTERFACE_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_PROCESS_LOG_SKIP_INTERFACE_ss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_PROCESS_LOG_NO_INTERFACE_FOUND_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_PROCESS_LOG_USING_DEFAULT_HOST_ID_X; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_PROCESS_LOG_USING_DEFAULT_HOST_ID; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_MEMORY_LOG_OUT_OF_HEAP_STRUCT_d; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_MEMORY_LOG_OUT_OF_HEAP_ARRAY_dd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_MEMORY_LOG_OUT_OF_HEAP_STRING_d; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_MEMORY_LOG_OUT_OF_HEAP_BUFFER_dd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_MEMORY_LOG_INCONSIST_ALLOC_FREE_Xss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_MEMORY_LOG_INCONSIST_ALLOC_REALLOC_Xss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_MEMORY_LOG_DOUBLE_FREE_Xs; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_LOG_AFFINITY_sus; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_SET_PRIORITY_FAILURE_sXsd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_SET_STACK_SIZE_FAILURE_sXsd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_SET_POLICY_FAILURE_sXsd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_SET_NAME_FAILURE_sXss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_SET_INHERIT_SCHED_FAILURE_sXss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_FAILURE_ATTRS_sXsdddddd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_SET_CPUSET_FAILURE_sXss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_SET_STACK_FAILURE_sXspd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_THREAD_JOIN_TIMEOUT_EXPIRED_u; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_ENV_VAR_NOT_FOUND_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_FILE_NOT_FOUND_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_USING_ENV_VAR_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_FILE_TOO_LONG_sd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_ERROR_FILE_WRITE_ss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_USING_FILE_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_ERROR_FILE_READ_ds; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_FAILURE_NOT_SUPPORTED; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_FAILURE_CLOCK_CALIBRATION; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_FAILURE_GETHRTIME; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_NEGATIVE_NOW_xX; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_NORMALIZE_PATH_FAILURE_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_SNPRINTF_GENERAL_FAILURE_dd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_SNPRINTF_INT_FAILURE_ddd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UTILITY_LOG_SNPRINTF_GUID_PREFIX_FAILURE_dxxxd; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_FAILURE_NOT_SUPPORTED; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_FAILURE_OPEN_LIBRARY_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_FAILURE_OPEN_LIBRARY_ss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_FAILURE_MODE_NOT_SUPPORTED_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_FAILURE_CLOSE_LIBRARY; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_FAILURE_GET_SYMBOL_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_SYMBOL_NOT_FOUND_ss; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_LIBRARY_LOG_EXTENSION_SPECIFIED_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_COMPRESSION_FAILURE_s; extern RTIOsapiDllVariable const struct RTILogMessage RTI_OSAPI_UNCOMPRESSION_FAILURE_s; #ifdef __cplusplus } /* extern "C" */ #endif #endif /* osapi_log_h */