Developer Experience Release. Added LMS and code refactor.
This commit is contained in:
95
MicroLMS/microstack/ILibRemoteLogging.h
Normal file
95
MicroLMS/microstack/ILibRemoteLogging.h
Normal file
@@ -0,0 +1,95 @@
|
||||
/* INTEL CONFIDENTIAL
|
||||
* Copyright 2011 - 2019 Intel Corporation.
|
||||
* This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you ("License"). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.
|
||||
* This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.
|
||||
*/
|
||||
|
||||
#ifndef __ILIBREMOTELOGGING__
|
||||
#define __ILIBREMOTELOGGING__
|
||||
|
||||
#include "ILibParsers.h"
|
||||
|
||||
/*! \defgroup ILibRemoteLogging ILibRemoteLogging Module
|
||||
@{
|
||||
*/
|
||||
//! Module Types
|
||||
typedef enum ILibRemoteLogging_Modules
|
||||
{
|
||||
ILibRemoteLogging_Modules_UNKNOWN = 0x00, //!< UNKNOWN Module
|
||||
ILibRemoteLogging_Modules_Logger = 0x01, //!< RESERVED: Logger
|
||||
ILibRemoteLogging_Modules_WebRTC_STUN_ICE = 0x02, //!< WebRTC: STUN/ICE
|
||||
ILibRemoteLogging_Modules_WebRTC_DTLS = 0x04, //!< WebRTC: DTLS
|
||||
ILibRemoteLogging_Modules_WebRTC_SCTP = 0x08, //!< WebRTC: SCTP
|
||||
ILibRemoteLogging_Modules_Agent_GuardPost = 0x10, //!< Mesh Agent: Guard Post
|
||||
ILibRemoteLogging_Modules_Agent_P2P = 0x20, //!< Mesh Agent: Peer to Peer
|
||||
ILibRemoteLogging_Modules_Agent_KVM = 0x200, //!< Mesh AGent: KVM
|
||||
ILibRemoteLogging_Modules_Microstack_AsyncSocket = 0x40, //!< Microstack: AsyncSocket, AsyncServerSocket, AsyncUDPSocket
|
||||
ILibRemoteLogging_Modules_Microstack_Web = 0x80, //!< Microstack: WebServer, WebSocket, WebClient
|
||||
ILibRemoteLogging_Modules_Microstack_Pipe = 0x400,//!< Microstack: Pipe
|
||||
ILibRemoteLogging_Modules_Microstack_Generic = 0x100,//!< Microstack: Generic
|
||||
ILibRemoteLogging_Modules_ConsolePrint = 0x4000
|
||||
}ILibRemoteLogging_Modules;
|
||||
//! Logging Flags
|
||||
typedef enum ILibRemoteLogging_Flags
|
||||
{
|
||||
ILibRemoteLogging_Flags_NONE = 0x00, //!< NONE
|
||||
ILibRemoteLogging_Flags_DisableLogging = 0x01, //!< DISABLED
|
||||
ILibRemoteLogging_Flags_VerbosityLevel_1 = 0x02, //!< Verbosity Level 1
|
||||
ILibRemoteLogging_Flags_VerbosityLevel_2 = 0x04, //!< Verbosity Level 2
|
||||
ILibRemoteLogging_Flags_VerbosityLevel_3 = 0x08, //!< Verbosity Level 3
|
||||
ILibRemoteLogging_Flags_VerbosityLevel_4 = 0x10, //!< Verbosity Level 4
|
||||
ILibRemoteLogging_Flags_VerbosityLevel_5 = 0x20, //!< Verbosity Level 5
|
||||
}ILibRemoteLogging_Flags;
|
||||
|
||||
typedef enum ILibRemoteLogging_Command_Logger_Flags
|
||||
{
|
||||
ILibRemoteLogging_Command_Logger_Flags_ENABLE = 0x100, //!< Enables/Disables File Logging
|
||||
ILibRemoteLogging_Command_Logger_Flags_RESET_FILE = 0x200, //!< Erases the log file
|
||||
ILibRemoteLogging_Command_Logger_Flags_READ_FILE = 0x400, //!< Reads the log file
|
||||
ILibRemoteLogging_Command_Logger_Flags_RESET_FLAGS = 0x800, //!< Sets the Module/Flags to log to file
|
||||
}ILibRemoteLogging_Command_Logger_Flags;
|
||||
|
||||
#define ILibTransports_RemoteLogging_FileTransport 0x70
|
||||
typedef void* ILibRemoteLogging;
|
||||
typedef void (*ILibRemoteLogging_OnWrite)(ILibRemoteLogging module, char* data, int dataLen, void *userContext);
|
||||
typedef void (*ILibRemoteLogging_OnCommand)(ILibRemoteLogging sender, ILibRemoteLogging_Modules module, unsigned short flags, char* data, int dataLen, void *userContext);
|
||||
typedef void(*ILibRemoteLogging_OnRawForward)(ILibRemoteLogging sender, ILibRemoteLogging_Modules module, ILibRemoteLogging_Flags flags, char *buffer, int bufferLen);
|
||||
|
||||
#ifdef _REMOTELOGGING
|
||||
char* ILibRemoteLogging_ConvertAddress(struct sockaddr* addr);
|
||||
char* ILibRemoteLogging_ConvertToHex(char* inVal, int inValLength);
|
||||
void ILibRemoteLogging_printf(ILibRemoteLogging loggingModule, ILibRemoteLogging_Modules module, ILibRemoteLogging_Flags flags, char* format, ...);
|
||||
|
||||
ILibRemoteLogging ILibRemoteLogging_Create(ILibRemoteLogging_OnWrite onOutput);
|
||||
ILibTransport* ILibRemoteLogging_CreateFileTransport(ILibRemoteLogging loggingModule, ILibRemoteLogging_Modules modules, ILibRemoteLogging_Flags flags, char* path, int pathLen);
|
||||
void ILibRemoteLogging_Destroy(ILibRemoteLogging logger);
|
||||
void ILibRemoteLogging_SetRawForward(ILibRemoteLogging logger, int bufferOffset, ILibRemoteLogging_OnRawForward onRawForward);
|
||||
|
||||
void ILibRemoteLogging_DeleteUserContext(ILibRemoteLogging logger, void *userContext);
|
||||
void ILibRemoteLogging_RegisterCommandSink(ILibRemoteLogging logger, ILibRemoteLogging_Modules module, ILibRemoteLogging_OnCommand sink);
|
||||
int ILibRemoteLogging_Dispatch(ILibRemoteLogging loggingModule, char* data, int dataLen, void *userContext);
|
||||
#define ILibRemoteLogging_ReadModuleType(data) ((ILibRemoteLogging_Modules)ntohs(((unsigned short*)data)[0]))
|
||||
#define ILibRemoteLogging_ReadFlags(data) ((ILibRemoteLogging_Flags)ntohs(((unsigned short*)data)[1]))
|
||||
int ILibRemoteLogging_IsModuleSet(ILibRemoteLogging loggingModule, ILibRemoteLogging_Modules module);
|
||||
void ILibRemoteLogging_Forward(ILibRemoteLogging loggingModule, char* data, int dataLen);
|
||||
#else
|
||||
#define ILibRemoteLogging_ConvertAddress(...) ;
|
||||
#define ILibRemoteLogging_ConvertToHex(...) ;
|
||||
#define ILibRemoteLogging_printf(...) ;
|
||||
#define ILibRemoteLogging_Create(...) NULL;
|
||||
#define ILibRemoteLogging_SetRawForward(...) ;
|
||||
#define ILibRemoteLogging_CreateFileTransport(...) NULL;
|
||||
#define ILibRemoteLogging_Destroy(...) ;
|
||||
#define ILibRemoteLogging_DeleteUserContext(...) ;
|
||||
#define ILibRemoteLogging_RegisterCommandSink(...) ;
|
||||
#define ILibRemoteLogging_Dispatch(...) ;
|
||||
#define ILibRemoteLogging_ReadModuleType(data) ILibRemoteLogging_Modules_UNKNOWN
|
||||
#define ILibRemoteLogging_ReadFlags(data) ILibRemoteLogging_Flags_NONE
|
||||
#define ILibRemoteLogging_IsModuleSet(...) 0
|
||||
#define ILibRemoteLogging_Forward(...) ;
|
||||
#endif
|
||||
|
||||
/*! @} */
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user