/* (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 */