345 lines
11 KiB
C
345 lines
11 KiB
C
/* (c) Copyright 2003-2021, Real-Time Innovations, Inc. All rights reserved. */
|
|
/*
|
|
* @(#)ndds_utility_c.h generated by: makeheader Tue Apr 7 22:56:15 2026
|
|
*
|
|
* built from: ndds_utility_c.ifc
|
|
*/
|
|
|
|
#ifndef ndds_utility_c_h
|
|
#define ndds_utility_c_h
|
|
|
|
|
|
|
|
#ifndef osapi_heap_h
|
|
#include "osapi/osapi_heap.h"
|
|
#endif
|
|
|
|
#ifndef dds_c_infrastructure_h
|
|
#include "dds_c/dds_c_infrastructure.h"
|
|
#endif
|
|
|
|
#ifndef dds_c_subscription_h
|
|
#include "dds_c/dds_c_subscription.h"
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
|
|
typedef enum {
|
|
/*e \dref_HeapMonitoringSnapshotOutputFormat_NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_OUTPUT_FORMAT_STANDARD */
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_OUTPUT_FORMAT_STANDARD =
|
|
RTI_OSAPI_HEAP_SNAPSHOT_OUTPUT_FORMAT_STANDARD,
|
|
/*e \dref_HeapMonitoringSnapshotOutputFormat_NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_OUTPUT_FORMAT_COMPRESSED */
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_OUTPUT_FORMAT_COMPRESSED =
|
|
RTI_OSAPI_HEAP_SNAPSHOT_OUTPUT_FORMAT_COMPRESSED,
|
|
} NDDS_Utility_HeapMonitoringSnapshotOutputFormat;
|
|
|
|
|
|
typedef enum {
|
|
/*e \dref_HeapMonitoringSnapshotContentFormat_NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_BIT_TOPIC
|
|
*/
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_BIT_TOPIC =
|
|
RTI_OSAPI_HEAP_SNAPSHOT_CONTENT_BIT_TOPIC,
|
|
|
|
/*e \dref_HeapMonitoringSnapshotContentFormat_NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_BIT_FUNCTION
|
|
*/
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_BIT_FUNCTION =
|
|
RTI_OSAPI_HEAP_SNAPSHOT_CONTENT_BIT_FUNCTION,
|
|
|
|
/*e \dref_HeapMonitoringSnapshotContentFormat_NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_BIT_ACTIVITY
|
|
*/
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_BIT_ACTIVITY =
|
|
RTI_OSAPI_HEAP_SNAPSHOT_CONTENT_BIT_ACTIVITY,
|
|
|
|
/*e \dref_HeapMonitoringSnapshotContentFormat_NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_DEFAULT
|
|
*/
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_DEFAULT =
|
|
RTI_OSAPI_HEAP_SNAPSHOT_CONTENT_MASK_DEFAULT,
|
|
|
|
/*e \dref_HeapMonitoringSnapshotContentFormat_NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_MINIMAL
|
|
*/
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_MINIMAL =
|
|
RTI_OSAPI_HEAP_SNAPSHOT_CONTENT_MINIMAL,
|
|
} NDDS_Utility_HeapMonitoringSnapshotContentFormat;
|
|
|
|
|
|
typedef struct NDDS_Utility_HeapMonitoringParams_t {
|
|
/*e \dref_HeapMonitoringParams_snapshot_output_format */
|
|
NDDS_Utility_HeapMonitoringSnapshotOutputFormat snapshot_output_format;
|
|
/*e \dref_HeapMonitoringParams_snapshot_content_format */
|
|
NDDS_Utility_HeapMonitoringSnapshotContentFormat snapshot_content_format;
|
|
} NDDS_Utility_HeapMonitoringParams_t;
|
|
|
|
|
|
#define NDDS_Utility_HeapMonitoringParams_INITIALIZER \
|
|
{ \
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_OUTPUT_FORMAT_STANDARD, \
|
|
NDDS_UTILITY_HEAP_MONITORING_SNAPSHOT_CONTENT_DEFAULT, \
|
|
}
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_enable_heap_monitoring(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_enable_heap_monitoring_w_params(
|
|
const NDDS_Utility_HeapMonitoringParams_t *params);
|
|
|
|
extern DDSCDllExport
|
|
void NDDS_Utility_disable_heap_monitoring(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_pause_heap_monitoring(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_resume_heap_monitoring(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_take_heap_snapshot(
|
|
const char *filename,
|
|
DDS_Boolean print_details);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_enable_function_history(void);
|
|
|
|
typedef enum {
|
|
/*e \dref_NetworkCaptureContentKind_NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_USER_SERIALIZED_DATA
|
|
*/
|
|
NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_USER_SERIALIZED_DATA =
|
|
RTI_NETIO_CAP_CONTENT_BIT_USER_SERIALIZED_DATA,
|
|
|
|
/*e \dref_NetworkCaptureContentKind_NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_ENCRYPTED_DATA
|
|
*/
|
|
NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_ENCRYPTED_DATA =
|
|
RTI_NETIO_CAP_CONTENT_BIT_ENCRYPTED_DATA
|
|
} NDDS_Utility_NetworkCaptureContentKind;
|
|
|
|
typedef enum {
|
|
/*e \dref_NetworkCaptureTrafficKind_NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_OUT
|
|
*/
|
|
NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_OUT = RTI_NETIO_CAP_TRAFFIC_BIT_OUT,
|
|
|
|
/*e \dref_NetworkCaptureTrafficKind_NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_IN
|
|
*/
|
|
NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_IN = RTI_NETIO_CAP_TRAFFIC_BIT_IN
|
|
} NDDS_Utility_NetworkCaptureTrafficKind;
|
|
|
|
typedef DDS_Long NDDS_Utility_NetworkCaptureContentKindMask;
|
|
|
|
typedef DDS_Long NDDS_Utility_NetworkCaptureTrafficKindMask;
|
|
|
|
|
|
#define NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_MASK_DEFAULT \
|
|
RTI_NETIO_CAP_CONTENT_MASK_DEFAULT
|
|
|
|
|
|
#define NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_MASK_NONE \
|
|
RTI_NETIO_CAP_CONTENT_MASK_NONE
|
|
|
|
|
|
#define NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_MASK_ALL \
|
|
RTI_NETIO_CAP_CONTENT_MASK_ALL
|
|
|
|
|
|
#define NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_MASK_DEFAULT \
|
|
RTI_NETIO_CAP_TRAFFIC_MASK_DEFAULT
|
|
|
|
|
|
#define NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_MASK_NONE \
|
|
RTI_NETIO_CAP_TRAFFIC_MASK_NONE
|
|
|
|
|
|
#define NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_MASK_ALL \
|
|
RTI_NETIO_CAP_TRAFFIC_MASK_ALL
|
|
|
|
|
|
#define NDDS_Utility_NetworkCaptureParams_INITIALIZER { \
|
|
DDS_SEQUENCE_INITIALIZER, /* transports */ \
|
|
NDDS_UTILITY_NETWORK_CAPTURE_CONTENT_MASK_DEFAULT, /* dropped_content */ \
|
|
NDDS_UTILITY_NETWORK_CAPTURE_TRAFFIC_MASK_DEFAULT, /* traffic */ \
|
|
RTI_FALSE, /* parse_encrypted_content */ \
|
|
{ /* checkpoint_thread_settings */ \
|
|
RTI_OSAPI_THREAD_OPTION_STDIO, /* mask */ \
|
|
RTI_OSAPI_THREAD_PRIORITY_DEFAULT, /* priority */ \
|
|
RTI_OSAPI_THREAD_STACK_SIZE_DEFAULT, /* stack_size */ \
|
|
DDS_SEQUENCE_INITIALIZER, /* cpu_list */ \
|
|
DDS_THREAD_SETTINGS_CPU_ROTATION_DEFAULT, /*cpu_rotation */ \
|
|
0 /* num_uses */ \
|
|
}, \
|
|
2097152 /* frame_queue_size (2 MB) */ \
|
|
}
|
|
|
|
|
|
DDSC_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT(NDDS_Utility_NetworkCaptureParams_t);
|
|
|
|
|
|
typedef struct NDDS_Utility_NetworkCaptureParams_t {
|
|
/*e \dref_NetworkCaptureParams_transports
|
|
*/
|
|
struct DDS_StringSeq transports;
|
|
/*e \dref_NetworkCaptureParams_dropped_content
|
|
*/
|
|
NDDS_Utility_NetworkCaptureContentKindMask dropped_content;
|
|
/*e \dref_NetworkCaptureParams_traffic
|
|
*/
|
|
NDDS_Utility_NetworkCaptureTrafficKindMask traffic;
|
|
/*e \dref_NetworkCaptureParams_parse_encrypted_content
|
|
*/
|
|
DDS_Boolean parse_encrypted_content;
|
|
/*e \dref_NetworkCaptureParams_checkpoint_thread_settings
|
|
*/
|
|
struct DDS_ThreadSettings_t checkpoint_thread_settings;
|
|
/*e \dref_NetworkCaptureParams_frame_queue_size
|
|
*/
|
|
DDS_Long frame_queue_size;
|
|
|
|
DDSCPP_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT(
|
|
NDDS_Utility_NetworkCaptureParams_t)
|
|
} NDDS_Utility_NetworkCaptureParams_t;
|
|
|
|
|
|
extern DDSCDllVariable const NDDS_Utility_NetworkCaptureParams_t
|
|
NDDS_UTILITY_NETWORK_CAPTURE_PARAMETERS_DEFAULT;
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_enable_network_capture(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_disable_network_capture(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_set_default_network_capture_params(
|
|
const NDDS_Utility_NetworkCaptureParams_t *params);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_start_network_capture(const char *filename);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_start_network_capture_for_participant(
|
|
DDS_DomainParticipant *participant,
|
|
const char *filename);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_start_network_capture_w_params(
|
|
const char *filename,
|
|
const NDDS_Utility_NetworkCaptureParams_t *params);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_start_network_capture_w_params_for_participant(
|
|
DDS_DomainParticipant *participant,
|
|
const char *filename,
|
|
const NDDS_Utility_NetworkCaptureParams_t *params);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_stop_network_capture(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_stop_network_capture_for_participant(
|
|
DDS_DomainParticipant *participant);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_pause_network_capture(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_pause_network_capture_for_participant(
|
|
DDS_DomainParticipant *participant);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_resume_network_capture(void);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Boolean NDDS_Utility_resume_network_capture_for_participant(
|
|
DDS_DomainParticipant *participant);
|
|
|
|
extern DDSCDllExport
|
|
RTIBool NDDS_Utility_NetworkCapture_getFilename(
|
|
char *participantFilename,
|
|
int participantFilenameMaxSize,
|
|
const DDS_DomainParticipant *participant);
|
|
|
|
extern DDSCDllExport
|
|
void NDDS_Utility_sleep(const struct DDS_Duration_t* durationIn);
|
|
|
|
extern DDSCDllExport
|
|
void NDDS_Utility_spin(DDS_UnsignedLongLong spinCount);
|
|
|
|
extern DDSCDllExport
|
|
DDS_UnsignedLongLong NDDS_Utility_get_spin_per_microsecond(void);
|
|
|
|
|
|
typedef struct NDDS_StackManagedThreadImpl NDDS_StackManagedThread;
|
|
|
|
extern DDSCDllExport
|
|
const char * NDDS_StackManagedThread_get_name(
|
|
NDDS_StackManagedThread * self);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Long NDDS_StackManagedThread_get_stack_size(
|
|
NDDS_StackManagedThread * self);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Long NDDS_StackManagedThread_get_stack_usage_max(
|
|
NDDS_StackManagedThread * self);
|
|
|
|
extern DDSCDllExport
|
|
void NDDS_StackManagedThread_setUserObjectI(
|
|
NDDS_StackManagedThread * self,
|
|
void * object);
|
|
|
|
extern DDSCDllExport
|
|
void * NDDS_StackManagedThread_getUserObjectI(
|
|
NDDS_StackManagedThread * self);
|
|
|
|
|
|
#define NDDS_ThreadStackAllocator_INITIALIZER {NULL, NULL}
|
|
|
|
|
|
typedef void* (*NDDS_ThreadStackAllocator_CreateStackCallback)(
|
|
void * generator_data,
|
|
DDS_Long * stack_size);
|
|
|
|
|
|
struct NDDS_ThreadStackAllocator {
|
|
/* \dref_ThreadStackAllocator_generator_data */
|
|
void * generator_data;
|
|
/* \dref_ThreadStackAllocator_create_stack */
|
|
NDDS_ThreadStackAllocator_CreateStackCallback create_stack;
|
|
};
|
|
|
|
|
|
typedef struct NDDS_StackManagedThreadFactoryImpl NDDS_StackManagedThreadFactory;
|
|
|
|
extern DDSCDllExport
|
|
NDDS_StackManagedThreadFactory * NDDS_StackManagedThreadFactory_new(
|
|
struct NDDS_ThreadStackAllocator * thread_stack_allocator);
|
|
|
|
extern DDSCDllExport
|
|
void NDDS_StackManagedThreadFactory_delete(
|
|
NDDS_StackManagedThreadFactory * self);
|
|
|
|
extern DDSCDllExport
|
|
const struct DDS_ThreadFactory * NDDS_StackManagedThreadFactory_as_thread_factory(
|
|
NDDS_StackManagedThreadFactory * self);
|
|
|
|
extern DDSCDllExport
|
|
DDS_Long NDDS_StackManagedThreadFactory_get_thread_count(
|
|
NDDS_StackManagedThreadFactory * self);
|
|
|
|
extern DDSCDllExport
|
|
NDDS_StackManagedThread * NDDS_StackManagedThreadFactory_get_thread_at(
|
|
NDDS_StackManagedThreadFactory * self,
|
|
DDS_Long index);
|
|
|
|
extern DDSCDllExport
|
|
void NDDS_StackManagedThreadFactory_print_threads_stack_summary(
|
|
NDDS_StackManagedThreadFactory * self);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* ndds_utility_c_h */
|