2. Modules
Here is a list of all modules:
- DOCA AES-GCM Engine
- DOCA App Shield
- DOCA Arg Parser
- DOCA Core
- DOCA Comch
- DOCA Compatibility Management
- DOCA Compress Engine
- DOCA Environment Configurations
- DOCA Device Emulation
- DOCA DMA Engine
- DOCA DPA
- DOCA Erasure Coding Engine
- DOCA ETH
- DOCA Flow
- DOCA GPUNetIO Engine
- DOCA GPUNetIO engine
- DOCA Logging Management
- DOCA Management
- DOCA Management Congestion Control Global Status
- DOCA Management Device Capabilities General
- DOCA PCC
- DOCA RDMA
- DOCA RMAX Engine
- DOCA SHA Engine
- DOCA Telemetry Adaptive Retransmission
- DOCA Telemetry Diagnostics
- DOCA telemetry DPA
- DOCA Telemetry Exporter
- DOCA Telemetry PCC
- DOCA Telemetry pci
- DOCA UROM (Unified Resource and Offload Manager)
- DOCA Version Management
DOCA App Shield library let you to monitor operation system that resides on the host. This is done with the DPU DMA capabilities. Please follow the programmer guide for system configurations.
Modules
DOCA App Shield Attributes
2.2.1. DOCA App Shield Attributes
[ DOCA App Shield ]
DOCA App Shield attributes to query with get functions, see doca_apsh.h
Typedefs
- typedef char * DOCA_APSH_ATTESTATION_COMM_TYPE
- attestation comm type
- typedef uint64_t DOCA_APSH_ATTESTATION_END_ADDRESS_TYPE
- attestation end address type
- typedef bool DOCA_APSH_ATTESTATION_HASH_DATA_IS_PRESENT_TYPE
- attestation hash data is present type
- typedef int DOCA_APSH_ATTESTATION_MATCHING_HASHES_TYPE
- attestation matching hashes type
- typedef int DOCA_APSH_ATTESTATION_PAGES_NUMBER_TYPE
- attestation pages number type
- typedef int DOCA_APSH_ATTESTATION_PAGES_PRESENT_TYPE
- attestation pages present type
- typedef char * DOCA_APSH_ATTESTATION_PATH_OF_MEMORY_AREA_TYPE
- attestation path of memory area type
- typedef uint32_t DOCA_APSH_ATTESTATION_PID_TYPE
- attestation pid type
- typedef char * DOCA_APSH_ATTESTATION_PROTECTION_TYPE
- attestation protection type
- typedef uint64_t DOCA_APSH_ATTESTATION_START_ADDRESS_TYPE
- attestation start address type
- typedef char * DOCA_APSH_CONTAINER_ID_TYPE
- container id type
- typedef doca_dev * DOCA_APSH_DMA_DEV_TYPE
- dma dev name
- typedef uint32_t DOCA_APSH_ENVARS_PID_TYPE
- envars pid type
- typedef char * DOCA_APSH_ENVARS_VALUE_TYPE
- envars value type
- typedef char * DOCA_APSH_ENVARS_VARIABLE_TYPE
- envars variable type
- typedef uint64_t DOCA_APSH_ENVARS_WINDOWS_BLOCK_TYPE
- envars windows block address type
- typedef int DOCA_APSH_FILESIZE_LIMIT_TYPE
- limit of parsed files size
- typedef uint64_t DOCA_APSH_HANDLE_ACCESS_TYPE
- handle access type
- typedef char * DOCA_APSH_HANDLE_NAME_TYPE
- handle name type
- typedef uint32_t DOCA_APSH_HANDLE_PID_TYPE
- handle pid type
- typedef uint64_t DOCA_APSH_HANDLE_TABLE_ENTRY_TYPE
- handle table entry type
- typedef char * DOCA_APSH_HANDLE_TYPE_TYPE
- handle type type
- typedef uint64_t DOCA_APSH_HANDLE_VALUE_TYPE
- handle value type
- typedef int DOCA_APSH_HASHTEST_LIMIT_TYPE
- limit of vm areas to attest
- typedef uint32_t DOCA_APSH_INJECTION_DETECT_PID_TYPE
- injection detect pid type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_END_TYPE
- injection detect suspected area end type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_START_TYPE
- injection detect suspected area start type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_END_TYPE
- injection detect VAD end address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_FILE_PATH_TYPE
- injection detect VAD file path type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_PROTECTION_TYPE
- injection detect VAD protection type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_START_TYPE
- injection detect VAD start address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_TAG_TYPE
- injection detect VAD pool tag type
- typedef char * DOCA_APSH_KPGD_FILE_TYPE
- kpgd file path
- typedef uint64_t DOCA_APSH_LDRMODULE_BASE_ADDRESS_TYPE
- ldrmodule base address type
- typedef char * DOCA_APSH_LDRMODULE_LIBRARY_PATH_TYPE
- ldrmodule library path type
- typedef uint32_t DOCA_APSH_LDRMODULE_PID_TYPE
- ldrmodule pid type
- typedef char * DOCA_APSH_LDRMODULE_WINDOWS_DLL_NAME_TYPE
- ldrmodule windows dll name type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_ININIT_TYPE
- ldrmodule ininit type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INLOAD_TYPE
- ldrmodule inload type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INMEM_TYPE
- ldrmodule inmem type
- typedef uint32_t DOCA_APSH_LDRMODULE_WINDOWS_SIZE_OF_IMAGE_TYPE
- ldrmodule size of image type
- typedef int DOCA_APSH_LIBS_LIMIT_TYPE
- limit of libs number
- typedef char * DOCA_APSH_LIB_LIBRARY_PATH_TYPE
- lib loaded library path type
- typedef uint64_t DOCA_APSH_LIB_LINUX_LOAD_ADRESS_TYPE
- lib load address for Linux
- typedef uint64_t DOCA_APSH_LIB_LOAD_ADRESS_TYPE
- lib load address for both Windows and Linux
- typedef uint32_t DOCA_APSH_LIB_PID_TYPE
- lib pid type
- typedef char * DOCA_APSH_LIB_WINDOWS_DLL_NAME_TYPE
- lib dll name type
- typedef uint32_t DOCA_APSH_LIB_WINDOWS_SIZE_OF_IMAGE_TYPE
- lib size of image type
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
- linux IPV4 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_TYPE
- linux interface IPV4
- typedef unsigned char * DOCA_APSH_LINUX_INTERFACE_IPV4_PREFIX_LEN_ARR_TYPE
- linux inteface IPV4 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
- linux IPV6 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_TYPE
- linux interface IPV6
- typedef uint32_t * DOCA_APSH_LINUX_INTERFACE_IPV6_PREFIX_LEN_ARR_TYPE
- linux IPV6 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
- linux interface mac address array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_MAC_ARR_TYPE
- linux interface mac address array
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_NAMESPACE_TYPE
- linux namespace
- typedef char * DOCA_APSH_LINUX_INTERFACE_NAME_TYPE
- linux interface name
- typedef char * DOCA_APSH_MEM_REGION_TYPE
- memory region path
- typedef int DOCA_APSH_MODULES_LIMIT_TYPE
- limit of modules number
- typedef char * DOCA_APSH_MODULES_NAME_TYPE
- module name type
- typedef uint64_t DOCA_APSH_MODULES_OFFSET_TYPE
- module offset type
- typedef uint32_t DOCA_APSH_MODULES_SIZE_TYPE
- module size type
- typedef char * DOCA_APSH_NETSCAN_COMM_TYPE
- netscan process name
- typedef char * DOCA_APSH_NETSCAN_LINUX_FAMILY_TYPE
- netscan linux connection Family
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_FD_TYPE
- netscan linux connection file descriptor
- typedef char * DOCA_APSH_NETSCAN_LINUX_FILTER_TYPE
- netscan linux connection filter
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
- netscan linux interface IPV4 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_TYPE
- netscan interface IPV4 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
- netscan linux interface IPV6 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_TYPE
- netscan linux interface IPV6 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
- netscan linux interface MAC array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_TYPE
- netscan linux interface MAC array
- typedef char * DOCA_APSH_NETSCAN_LINUX_INTERFACE_NAME_TYPE
- netscan linux interface name
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_NET_NAMESPACE_TYPE
- netscan linux connection net namespace
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_SOCKET_OFFSET_TYPE
- netscan linux connection socket offset
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_ACKED_TYPE
- netscan linux connection TCP acknowledged bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_RECEIVED_TYPE
- netscan linux connection TCP received bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_SENT_TYPE
- netscan linux connection TCP sent bytes
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_IN_TYPE
- netscan linux connection TCP data segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_OUT_TYPE
- netscan linux connection TCP data segments out
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_IN_TYPE
- netscan linux connection TCP segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_OUT_TYPE
- netscan linux connection TCP segments out
- typedef char * DOCA_APSH_NETSCAN_LINUX_TYPE_TYPE
- netscan linux connection Type
- typedef char * DOCA_APSH_NETSCAN_LOCAL_ADDR_TYPE
- netscan connection local address
- typedef uint64_t DOCA_APSH_NETSCAN_LOCAL_PORT_TYPE
- netscan connection local port
- typedef uint32_t DOCA_APSH_NETSCAN_PID_TYPE
- netscan process id
- typedef char * DOCA_APSH_NETSCAN_PROTOCOL_TYPE
- netscan connection protocol
- typedef char * DOCA_APSH_NETSCAN_REMOTE_ADDR_TYPE
- netscan connection remote address
- typedef uint64_t DOCA_APSH_NETSCAN_REMOTE_PORT_TYPE
- netscan connection remote port
- typedef char * DOCA_APSH_NETSCAN_STATE_TYPE
- netscan connection state
- typedef char * DOCA_APSH_NETSCAN_TIME_TYPE
- netscan windows connection creation time - depricated
- typedef char * DOCA_APSH_NETSCAN_WINDOWS_TIME_TYPE
- netscan windows connection creation time
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_FOLDER_TYPE
- os symbol map folder path
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_TYPE
- os symbol map path
- typedef enumdoca_apsh_system_os DOCA_APSH_OS_TYPE_TYPE
- os type
- typedef bool DOCA_APSH_PRIVILEGES_IS_ON_TYPE
- privilege is on type
- typedef char * DOCA_APSH_PRIVILEGES_NAME_TYPE
- privilege name type
- typedef uint32_t DOCA_APSH_PRIVILEGES_PID_TYPE
- privilege process pid
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_DEFAULT_TYPE
- privilege windows enabled by default type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_ENABLED_TYPE
- privilege windows enabled type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_PRESENT_TYPE
- privilege windows present type
- typedef char * DOCA_APSH_PROCESS_COMM_TYPE
- process comm type
- typedef uint64_t DOCA_APSH_PROCESS_CPU_TIME_TYPE
- process cpu time type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_ELF_TYPE_TYPE
- process file details elf type type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_ADDRESS_TYPE
- process file details inode address type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_TYPE
- process file details inode number type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_PATH_TYPE
- process file details path type
- typedef uint32_t DOCA_APSH_PROCESS_FILE_DETAILS_PID_TYPE
- process file details pid type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA1_TYPE
- process file details sha1 type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA256_TYPE
- process file details sha256 type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_SIZE_TYPE
- process file details file size type
- typedef int DOCA_APSH_PROCESS_LIMIT_TYPE
- limit of processes number
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_GID_TYPE
- process gid type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_MNT_TYPE
- process mount namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_NET_TYPE
- process network namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_PID_TYPE
- process PID namespace type
- typedef uint64_t DOCA_APSH_PROCESS_LINUX_STATE_TYPE
- process state type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_UID_TYPE
- process uid type
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_CMD_LINE_TYPE
- process-parameters command line
- typedef uint64_t DOCA_APSH_PROCESS_PARAMETERS_IMAGE_BASE_ADDR_TYPE
- process-parameters image base address
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_IMAGE_FULL_PATH_TYPE
- process-parameters image full path
- typedef uint32_t DOCA_APSH_PROCESS_PARAMETERS_PID_TYPE
- process-parameters pid
- typedef uint32_t DOCA_APSH_PROCESS_PID_TYPE
- process pid type
- typedef uint32_t DOCA_APSH_PROCESS_PPID_TYPE
- process pid type
- typedef uint32_t DOCA_APSH_PROCESS_SID_ATTRIBUTES_TYPE
- SID attributes flag.
- typedef uint32_t DOCA_APSH_PROCESS_SID_PID_TYPE
- SID process id.
- typedef char * DOCA_APSH_PROCESS_SID_STRING_TYPE
- SID strings.
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_EXIT_TIME_TYPE
- process exit time type
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_OFFSET_TYPE
- process offset type
- typedef uint32_t DOCA_APSH_PROCESS_WINDOWS_THREADS_TYPE
- process threads type
- typedef uint32_t DOCA_APSH_SCAN_WIN_SIZE_TYPE
- yara scan window size
- typedef uint32_t DOCA_APSH_SCAN_WIN_STEP_TYPE
- yara scan window step
- typedef int DOCA_APSH_STRING_LIMIT_TYPE
- length limit of apsh_read_str
- typedef int DOCA_APSH_THREADS_LIMIT_TYPE
- limit of threads number
- typedef char * DOCA_APSH_THREAD_LINUX_PROC_NAME_TYPE
- thread proc name type
- typedef char * DOCA_APSH_THREAD_LINUX_THREAD_NAME_TYPE
- thread thread name type
- typedef uint32_t DOCA_APSH_THREAD_PID_TYPE
- thread pid type
- typedef uint64_t DOCA_APSH_THREAD_STATE_TYPE
- thread state type
- typedef uint32_t DOCA_APSH_THREAD_TID_TYPE
- thread tid type
- typedef uint64_t DOCA_APSH_THREAD_WINDOWS_OFFSET_TYPE
- thread offset type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_SUSPEND_COUNT_TYPE
- thread suspend count type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_WAIT_REASON_TYPE
- thread wait reason type
- typedef int DOCA_APSH_VADS_LIMIT_TYPE
- limit of vads number
- typedef doca_dev_rep * DOCA_APSH_VHCA_ID_TYPE
- vhca id
- typedef char * DOCA_APSH_VMA_FILE_PATH_TYPE
- vma file path type
- typedef uint64_t DOCA_APSH_VMA_OFFSET_TYPE
- vma offset type
- typedef uint32_t DOCA_APSH_VMA_PID_TYPE
- vma pid type
- typedef char * DOCA_APSH_VMA_PROCESS_NAME_TYPE
- vma file path type
- typedef char * DOCA_APSH_VMA_PROTECTION_TYPE
- vma protection type
- typedef uint64_t DOCA_APSH_VMA_VM_END_TYPE
- vma vm end type
- typedef uint64_t DOCA_APSH_VMA_VM_START_TYPE
- vma vm start type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_COMMIT_CHARGE_TYPE
- vma commit charge type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_PRIVATE_MEMORY_TYPE
- vma private memory type
- typedef char * DOCA_APSH_VMA_WINDOWS_TAG_TYPE
- vma tag type
- typedef int DOCA_APSH_WINDOWS_ENVARS_LIMIT_TYPE
- length limit of envars for windows
- typedef char * DOCA_APSH_YARA_COMM_TYPE
- name of the process
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_ADDR_TYPE
- virtual address of the scan window of the match
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_LEN_TYPE
- length of the scan window of the match
- typedef uint32_t DOCA_APSH_YARA_PID_TYPE
- pid of the process
- typedef char * DOCA_APSH_YARA_RULE_TYPE
- rule name
Enumerations
- enum doca_apsh_attestation_attr
- doca app shield attestation attributes
- enum doca_apsh_container_attr
- doca app shield process attributes
- enum doca_apsh_envar_attr
- doca app shield envars attributes
- enum doca_apsh_handle_attr
- doca app shield handle attributes
- enum doca_apsh_injection_detect_attr
- doca app shield injection detect attributes
- enum doca_apsh_interface_attr
- doca app shield interface attributes
- enum doca_apsh_ldrmodule_attr
- doca app shield LDR-Modules attributes
- enum doca_apsh_lib_attr
- doca app shield lib attributes
- enum doca_apsh_module_attr
- doca app shield module attributes
- enum doca_apsh_netscan_attr
- doca app shield netscan attributes
- enum doca_apsh_privilege_attr
- doca app shield privileges attributes windows privilege list can be found on: https://docs.microsoft.com/en-us/windows/win32/secauthz/privilege-constants
- enum doca_apsh_proc_file_details_attr
- doca app shield process file details attributes
- enum doca_apsh_process_attr
- doca app shield process attributes
- enum doca_apsh_process_parameters_attr
- doca app shield process-parameters attributes
- enum doca_apsh_sid_attr
- doca app shield SID (security identifiers) attributes
- enum doca_apsh_system_config_attr
- doca app shield configuration attributes
- enum doca_apsh_system_os
- system os types
- enum doca_apsh_thread_attr
- doca app shield thread attributes
- enum doca_apsh_vad_attr
- doca app shield virtual address descriptor attributes
- enum doca_apsh_yara_attr
- doca app shield yara attributes
- enum doca_apsh_yara_rule
- available doca app shield yara rules
- enum doca_apsh_yara_scan_type
- doca app shield yara scan type bitmask
Typedefs
- typedef char * DOCA_APSH_ATTESTATION_COMM_TYPE
attestation comm type
- typedef uint64_t DOCA_APSH_ATTESTATION_END_ADDRESS_TYPE
attestation end address type
- typedef bool DOCA_APSH_ATTESTATION_HASH_DATA_IS_PRESENT_TYPE
attestation hash data is present type
- typedef int DOCA_APSH_ATTESTATION_MATCHING_HASHES_TYPE
attestation matching hashes type
- typedef int DOCA_APSH_ATTESTATION_PAGES_NUMBER_TYPE
attestation pages number type
- typedef int DOCA_APSH_ATTESTATION_PAGES_PRESENT_TYPE
attestation pages present type
- typedef char * DOCA_APSH_ATTESTATION_PATH_OF_MEMORY_AREA_TYPE
attestation path of memory area type
- typedef uint32_t DOCA_APSH_ATTESTATION_PID_TYPE
attestation pid type
- typedef char * DOCA_APSH_ATTESTATION_PROTECTION_TYPE
attestation protection type
- typedef uint64_t DOCA_APSH_ATTESTATION_START_ADDRESS_TYPE
attestation start address type
- typedef char * DOCA_APSH_CONTAINER_ID_TYPE
container id type
- typedef doca_dev * DOCA_APSH_DMA_DEV_TYPE
dma dev name
- typedef uint32_t DOCA_APSH_ENVARS_PID_TYPE
envars pid type
- typedef char * DOCA_APSH_ENVARS_VALUE_TYPE
envars value type
- typedef char * DOCA_APSH_ENVARS_VARIABLE_TYPE
envars variable type
- typedef uint64_t DOCA_APSH_ENVARS_WINDOWS_BLOCK_TYPE
envars windows block address type
- typedef int DOCA_APSH_FILESIZE_LIMIT_TYPE
limit of parsed files size
- typedef uint64_t DOCA_APSH_HANDLE_ACCESS_TYPE
handle access type
- typedef char * DOCA_APSH_HANDLE_NAME_TYPE
handle name type
- typedef uint32_t DOCA_APSH_HANDLE_PID_TYPE
handle pid type
- typedef uint64_t DOCA_APSH_HANDLE_TABLE_ENTRY_TYPE
handle table entry type
- typedef char * DOCA_APSH_HANDLE_TYPE_TYPE
handle type type
- typedef uint64_t DOCA_APSH_HANDLE_VALUE_TYPE
handle value type
- typedef int DOCA_APSH_HASHTEST_LIMIT_TYPE
limit of vm areas to attest
- typedef uint32_t DOCA_APSH_INJECTION_DETECT_PID_TYPE
injection detect pid type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_END_TYPE
injection detect suspected area end type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_START_TYPE
injection detect suspected area start type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_END_TYPE
injection detect VAD end address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_FILE_PATH_TYPE
injection detect VAD file path type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_PROTECTION_TYPE
injection detect VAD protection type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_START_TYPE
injection detect VAD start address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_TAG_TYPE
injection detect VAD pool tag type
- typedef char * DOCA_APSH_KPGD_FILE_TYPE
kpgd file path
- typedef uint64_t DOCA_APSH_LDRMODULE_BASE_ADDRESS_TYPE
ldrmodule base address type
- typedef char * DOCA_APSH_LDRMODULE_LIBRARY_PATH_TYPE
ldrmodule library path type
- typedef uint32_t DOCA_APSH_LDRMODULE_PID_TYPE
ldrmodule pid type
- typedef char * DOCA_APSH_LDRMODULE_WINDOWS_DLL_NAME_TYPE
ldrmodule windows dll name type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_ININIT_TYPE
ldrmodule ininit type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INLOAD_TYPE
ldrmodule inload type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INMEM_TYPE
ldrmodule inmem type
- typedef uint32_t DOCA_APSH_LDRMODULE_WINDOWS_SIZE_OF_IMAGE_TYPE
ldrmodule size of image type
- typedef int DOCA_APSH_LIBS_LIMIT_TYPE
limit of libs number
- typedef char * DOCA_APSH_LIB_LIBRARY_PATH_TYPE
lib loaded library path type
- typedef uint64_t DOCA_APSH_LIB_LINUX_LOAD_ADRESS_TYPE
lib load address for Linux
- typedef uint64_t DOCA_APSH_LIB_LOAD_ADRESS_TYPE
lib load address for both Windows and Linux
- typedef uint32_t DOCA_APSH_LIB_PID_TYPE
lib pid type
- typedef char * DOCA_APSH_LIB_WINDOWS_DLL_NAME_TYPE
lib dll name type
- typedef uint32_t DOCA_APSH_LIB_WINDOWS_SIZE_OF_IMAGE_TYPE
lib size of image type
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
linux IPV4 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_TYPE
linux interface IPV4
- typedef unsigned char * DOCA_APSH_LINUX_INTERFACE_IPV4_PREFIX_LEN_ARR_TYPE
linux inteface IPV4 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
linux IPV6 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_TYPE
linux interface IPV6
- typedef uint32_t * DOCA_APSH_LINUX_INTERFACE_IPV6_PREFIX_LEN_ARR_TYPE
linux IPV6 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
linux interface mac address array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_MAC_ARR_TYPE
linux interface mac address array
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_NAMESPACE_TYPE
linux namespace
- typedef char * DOCA_APSH_LINUX_INTERFACE_NAME_TYPE
linux interface name
- typedef char * DOCA_APSH_MEM_REGION_TYPE
memory region path
- typedef int DOCA_APSH_MODULES_LIMIT_TYPE
limit of modules number
- typedef char * DOCA_APSH_MODULES_NAME_TYPE
module name type
- typedef uint64_t DOCA_APSH_MODULES_OFFSET_TYPE
module offset type
- typedef uint32_t DOCA_APSH_MODULES_SIZE_TYPE
module size type
- typedef char * DOCA_APSH_NETSCAN_COMM_TYPE
netscan process name
- typedef char * DOCA_APSH_NETSCAN_LINUX_FAMILY_TYPE
netscan linux connection Family
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_FD_TYPE
netscan linux connection file descriptor
- typedef char * DOCA_APSH_NETSCAN_LINUX_FILTER_TYPE
netscan linux connection filter
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
netscan linux interface IPV4 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_TYPE
netscan interface IPV4 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
netscan linux interface IPV6 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_TYPE
netscan linux interface IPV6 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
netscan linux interface MAC array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_TYPE
netscan linux interface MAC array
- typedef char * DOCA_APSH_NETSCAN_LINUX_INTERFACE_NAME_TYPE
netscan linux interface name
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_NET_NAMESPACE_TYPE
netscan linux connection net namespace
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_SOCKET_OFFSET_TYPE
netscan linux connection socket offset
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_ACKED_TYPE
netscan linux connection TCP acknowledged bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_RECEIVED_TYPE
netscan linux connection TCP received bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_SENT_TYPE
netscan linux connection TCP sent bytes
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_IN_TYPE
netscan linux connection TCP data segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_OUT_TYPE
netscan linux connection TCP data segments out
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_IN_TYPE
netscan linux connection TCP segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_OUT_TYPE
netscan linux connection TCP segments out
- typedef char * DOCA_APSH_NETSCAN_LINUX_TYPE_TYPE
netscan linux connection Type
- typedef char * DOCA_APSH_NETSCAN_LOCAL_ADDR_TYPE
netscan connection local address
- typedef uint64_t DOCA_APSH_NETSCAN_LOCAL_PORT_TYPE
netscan connection local port
- typedef uint32_t DOCA_APSH_NETSCAN_PID_TYPE
netscan process id
- typedef char * DOCA_APSH_NETSCAN_PROTOCOL_TYPE
netscan connection protocol
- typedef char * DOCA_APSH_NETSCAN_REMOTE_ADDR_TYPE
netscan connection remote address
- typedef uint64_t DOCA_APSH_NETSCAN_REMOTE_PORT_TYPE
netscan connection remote port
- typedef char * DOCA_APSH_NETSCAN_STATE_TYPE
netscan connection state
- typedef char * DOCA_APSH_NETSCAN_TIME_TYPE
netscan windows connection creation time - depricated
- typedef char * DOCA_APSH_NETSCAN_WINDOWS_TIME_TYPE
netscan windows connection creation time
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_FOLDER_TYPE
os symbol map folder path
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_TYPE
os symbol map path
- typedef enumdoca_apsh_system_os DOCA_APSH_OS_TYPE_TYPE
os type
- typedef bool DOCA_APSH_PRIVILEGES_IS_ON_TYPE
privilege is on type
- typedef char * DOCA_APSH_PRIVILEGES_NAME_TYPE
privilege name type
- typedef uint32_t DOCA_APSH_PRIVILEGES_PID_TYPE
privilege process pid
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_DEFAULT_TYPE
privilege windows enabled by default type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_ENABLED_TYPE
privilege windows enabled type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_PRESENT_TYPE
privilege windows present type
- typedef char * DOCA_APSH_PROCESS_COMM_TYPE
process comm type
- typedef uint64_t DOCA_APSH_PROCESS_CPU_TIME_TYPE
process cpu time type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_ELF_TYPE_TYPE
process file details elf type type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_ADDRESS_TYPE
process file details inode address type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_TYPE
process file details inode number type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_PATH_TYPE
process file details path type
- typedef uint32_t DOCA_APSH_PROCESS_FILE_DETAILS_PID_TYPE
process file details pid type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA1_TYPE
process file details sha1 type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA256_TYPE
process file details sha256 type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_SIZE_TYPE
process file details file size type
- typedef int DOCA_APSH_PROCESS_LIMIT_TYPE
limit of processes number
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_GID_TYPE
process gid type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_MNT_TYPE
process mount namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_NET_TYPE
process network namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_PID_TYPE
process PID namespace type
- typedef uint64_t DOCA_APSH_PROCESS_LINUX_STATE_TYPE
process state type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_UID_TYPE
process uid type
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_CMD_LINE_TYPE
process-parameters command line
- typedef uint64_t DOCA_APSH_PROCESS_PARAMETERS_IMAGE_BASE_ADDR_TYPE
process-parameters image base address
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_IMAGE_FULL_PATH_TYPE
process-parameters image full path
- typedef uint32_t DOCA_APSH_PROCESS_PARAMETERS_PID_TYPE
process-parameters pid
- typedef uint32_t DOCA_APSH_PROCESS_PID_TYPE
process pid type
- typedef uint32_t DOCA_APSH_PROCESS_PPID_TYPE
process pid type
- typedef uint32_t DOCA_APSH_PROCESS_SID_ATTRIBUTES_TYPE
SID attributes flag.
- typedef uint32_t DOCA_APSH_PROCESS_SID_PID_TYPE
SID process id.
- typedef char * DOCA_APSH_PROCESS_SID_STRING_TYPE
SID strings.
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_EXIT_TIME_TYPE
process exit time type
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_OFFSET_TYPE
process offset type
- typedef uint32_t DOCA_APSH_PROCESS_WINDOWS_THREADS_TYPE
process threads type
- typedef uint32_t DOCA_APSH_SCAN_WIN_SIZE_TYPE
yara scan window size
- typedef uint32_t DOCA_APSH_SCAN_WIN_STEP_TYPE
yara scan window step
- typedef int DOCA_APSH_STRING_LIMIT_TYPE
length limit of apsh_read_str
- typedef int DOCA_APSH_THREADS_LIMIT_TYPE
limit of threads number
- typedef char * DOCA_APSH_THREAD_LINUX_PROC_NAME_TYPE
thread proc name type
- typedef char * DOCA_APSH_THREAD_LINUX_THREAD_NAME_TYPE
thread thread name type
- typedef uint32_t DOCA_APSH_THREAD_PID_TYPE
thread pid type
- typedef uint64_t DOCA_APSH_THREAD_STATE_TYPE
thread state type
- typedef uint32_t DOCA_APSH_THREAD_TID_TYPE
thread tid type
- typedef uint64_t DOCA_APSH_THREAD_WINDOWS_OFFSET_TYPE
thread offset type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_SUSPEND_COUNT_TYPE
thread suspend count type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_WAIT_REASON_TYPE
thread wait reason type
- typedef int DOCA_APSH_VADS_LIMIT_TYPE
limit of vads number
- typedef doca_dev_rep * DOCA_APSH_VHCA_ID_TYPE
vhca id
- typedef char * DOCA_APSH_VMA_FILE_PATH_TYPE
vma file path type
- typedef uint64_t DOCA_APSH_VMA_OFFSET_TYPE
vma offset type
- typedef uint32_t DOCA_APSH_VMA_PID_TYPE
vma pid type
- typedef char * DOCA_APSH_VMA_PROCESS_NAME_TYPE
vma file path type
- typedef char * DOCA_APSH_VMA_PROTECTION_TYPE
vma protection type
- typedef uint64_t DOCA_APSH_VMA_VM_END_TYPE
vma vm end type
- typedef uint64_t DOCA_APSH_VMA_VM_START_TYPE
vma vm start type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_COMMIT_CHARGE_TYPE
vma commit charge type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_PRIVATE_MEMORY_TYPE
vma private memory type
- typedef char * DOCA_APSH_VMA_WINDOWS_TAG_TYPE
vma tag type
- typedef int DOCA_APSH_WINDOWS_ENVARS_LIMIT_TYPE
length limit of envars for windows
- typedef char * DOCA_APSH_YARA_COMM_TYPE
name of the process
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_ADDR_TYPE
virtual address of the scan window of the match
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_LEN_TYPE
length of the scan window of the match
- typedef uint32_t DOCA_APSH_YARA_PID_TYPE
pid of the process
- typedef char * DOCA_APSH_YARA_RULE_TYPE
rule name
Enumerations
- enum doca_apsh_attestation_attr
-
Values
- DOCA_APSH_ATTESTATION_PID = 0
- attestation process id
- DOCA_APSH_ATTESTATION_COMM = 1
- attestation process name
- DOCA_APSH_ATTESTATION_PATH_OF_MEMORY_AREA = 2
- attestation path of memory area
- DOCA_APSH_ATTESTATION_PROTECTION = 3
- attestation protection
- DOCA_APSH_ATTESTATION_START_ADDRESS = 4
- attestation start address
- DOCA_APSH_ATTESTATION_END_ADDRESS = 5
- attestation end address
- DOCA_APSH_ATTESTATION_PAGES_NUMBER = 6
- attestation process pages count in binary file
- DOCA_APSH_ATTESTATION_PAGES_PRESENT = 7
- attestation pages present in memory
- DOCA_APSH_ATTESTATION_MATCHING_HASHES = 8
- attestation pages hash match count from pages in memory
- DOCA_APSH_ATTESTATION_HASH_DATA_IS_PRESENT = 9
- attestation hash data is present
- enum doca_apsh_container_attr
-
Values
- DOCA_APSH_CONTAINER_ID = 0
- container id
- enum doca_apsh_envar_attr
-
Values
- DOCA_APSH_ENVARS_PID = 0
- envars pid
- DOCA_APSH_ENVARS_VARIABLE = 2
- envars variable
- DOCA_APSH_ENVARS_VALUE = 3
- envars value
- DOCA_APSH_ENVARS_WINDOWS_BLOCK = 1000
- envars windows environment block address
- enum doca_apsh_handle_attr
-
Values
- DOCA_APSH_HANDLE_PID = 0
- handle process id
- DOCA_APSH_HANDLE_VALUE = 2
- handle value
- DOCA_APSH_HANDLE_TABLE_ENTRY = 3
- handle table entry
- DOCA_APSH_HANDLE_TYPE = 4
- handle type
- DOCA_APSH_HANDLE_ACCESS = 5
- handle access
- DOCA_APSH_HANDLE_NAME = 6
- handle name
- enum doca_apsh_injection_detect_attr
-
Values
- DOCA_APSH_INJECTION_DETECT_PID
- suspected injection process id
- DOCA_APSH_INJECTION_DETECT_VAD_START
- suspected injection VAD start address
- DOCA_APSH_INJECTION_DETECT_VAD_END
- suspected injection VAD end address
- DOCA_APSH_INJECTION_DETECT_VAD_PROTECTION
- suspected injection VAD protection
- DOCA_APSH_INJECTION_DETECT_VAD_TAG
- suspected injection VAD pool tag
- DOCA_APSH_INJECTION_DETECT_VAD_FILE_PATH
- suspected injection VAD file path
- DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_START
- suspected injection suspected area start
- DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_END
- suspected injection suspected area end
- enum doca_apsh_interface_attr
-
Values
- DOCA_APSH_LINUX_INTERFACE_NAME = 3000
- linux interface name
- DOCA_APSH_LINUX_INTERFACE_IPV4_ARR = 3001
- linux interface IPV4 address array
- DOCA_APSH_LINUX_INTERFACE_IPV4_PREFIX_LEN_ARR = 3002
- linux interface IPV4 prefix_len array
- DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_SIZE = 3003
- linux interface IPV4 address array size
- DOCA_APSH_LINUX_INTERFACE_MAC_ARR = 3004
- linux interface mac address array
- DOCA_APSH_LINUX_INTERFACE_MAC_ARR_SIZE = 3005
- linux interface mac address array size
- DOCA_APSH_LINUX_INTERFACE_IPV6_ARR = 3006
- linux interface IPV6 address array
- DOCA_APSH_LINUX_INTERFACE_IPV6_PREFIX_LEN_ARR = 3007
- linux interface IPV6 prefix_len array
- DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_SIZE = 3008
- linux interface IPV6 address array size
- DOCA_APSH_LINUX_INTERFACE_NAMESPACE = 3009
- linux interface namespace
- enum doca_apsh_ldrmodule_attr
-
Values
- DOCA_APSH_LDRMODULE_PID = 0
- ldrmodule process pid
- DOCA_APSH_LDRMODULE_BASE_ADDRESS = 2
- ldrmodule base address
- DOCA_APSH_LDRMODULE_LIBRARY_PATH = 3
- ldrmodule loaded library path
- DOCA_APSH_LDRMODULE_WINDOWS_DLL_NAME = 1000
- ldrmodule dll name
- DOCA_APSH_LDRMODULE_WINDOWS_SIZE_OF_IMAGE = 1001
- ldrmodule size of image
- DOCA_APSH_LDRMODULE_WINDOWS_INLOAD = 1002
- ldrmodule appear in inload list
- DOCA_APSH_LDRMODULE_WINDOWS_INMEM = 1003
- ldrmodule appear in inmem list
- DOCA_APSH_LDRMODULE_WINDOWS_ININIT = 1004
- ldrmodule appear in ininit list
- enum doca_apsh_lib_attr
-
Values
- DOCA_APSH_LIB_PID = 0
- lib pid
- DOCA_APSH_LIB_LIBRARY_PATH = 2
- lib loaded library path
- DOCA_APSH_LIB_LOAD_ADRESS = 3
- lib load address for both Windows and Linux
- DOCA_APSH_LIB_WINDOWS_DLL_NAME = 1000
- lib dll name
- DOCA_APSH_LIB_WINDOWS_SIZE_OF_IMAGE = 1001
- lib size of image
- DOCA_APSH_LIB_LINUX_LOAD_ADRESS = 2000
- lib load address for Linux. It's kept for backwards compatibility, use DOCA_APSH_LIB_LOAD_ADRESS instead-
- enum doca_apsh_module_attr
-
Values
- DOCA_APSH_MODULES_OFFSET = 0
- module offset
- DOCA_APSH_MODULES_NAME = 1
- module name
- DOCA_APSH_MODULES_SIZE = 2
- module size
- enum doca_apsh_netscan_attr
-
Values
- DOCA_APSH_NETSCAN_PID = 0
- netscan connection process id
- DOCA_APSH_NETSCAN_COMM = 1
- netscan connection process name
- DOCA_APSH_NETSCAN_PROTOCOL = 2
- netscan connection protcol
- DOCA_APSH_NETSCAN_LOCAL_ADDR = 3
- netscan connection local address
- DOCA_APSH_NETSCAN_REMOTE_ADDR = 4
- netscan connection remote address
- DOCA_APSH_NETSCAN_LOCAL_PORT = 5
- netscan connection local port
- DOCA_APSH_NETSCAN_REMOTE_PORT = 6
- netscan connection remote port
- DOCA_APSH_NETSCAN_STATE = 7
- netscan connection state
- DOCA_APSH_NETSCAN_TIME = 8
- netscan connection creation time - windows only. depricated - use DOCA_APSH_NETSCAN_WINDOWS_TIME instead
- DOCA_APSH_NETSCAN_WINDOWS_TIME = 1000
- netscan windows connection creation time
- DOCA_APSH_NETSCAN_LINUX_FD = 2000
- netscan linux connection file descriptor
- DOCA_APSH_NETSCAN_LINUX_SOCKET_OFFSET = 2001
- netscan linux connection socket offset
- DOCA_APSH_NETSCAN_LINUX_FAMILY = 2002
- netscan linux connection Family
- DOCA_APSH_NETSCAN_LINUX_TYPE = 2003
- netscan linux connection Type
- DOCA_APSH_NETSCAN_LINUX_FILTER = 2004
- netscan linux connection filter
- DOCA_APSH_NETSCAN_LINUX_NET_NAMESPACE = 2005
- netscan linux connection net namespace
- DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_SENT = 2006
- netscan linux connection TCP sent bytes
- DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_ACKED = 2007
- netscan linux connection TCP acknowledged bytes
- DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_RECEIVED = 2008
- netscan linux connection TCP received bytes
- DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_IN = 2009
- netscan linux connection TCP segments in
- DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_OUT = 2010
- netscan linux connection TCP segments out
- DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_IN = 2011
- netscan linux connection TCP data segments in
- DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_OUT = 2012
- netscan linux connection TCP data segments out
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_NAME = 2013
- netscan linux interface name
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR = 2014
- netscan linux interface IPV4 address array
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_SIZE = 2015
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR = 2016
- netscan linux interface IPV4 array size netscan linux interface mac address array
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_SIZE = 2017
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR = 2018
- netscan linux interface mac array size netscan linux interface IPV6 address array
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_SIZE = 2019
- enum doca_apsh_privilege_attr
-
Values
- DOCA_APSH_PRIVILEGES_PID = 0
- privilege process pid
- DOCA_APSH_PRIVILEGES_NAME = 2
- privilege name, for example: SeTcbPrivilege
- DOCA_APSH_PRIVILEGES_IS_ON = 3
- is the privilege turned on or off. For Windows this is the outcome of get(PRESENT) && (get(ENABLED) || get(DEFAULT))
- DOCA_APSH_PRIVILEGES_WINDOWS_PRESENT = 1000
- privilege present flag
- DOCA_APSH_PRIVILEGES_WINDOWS_ENABLED = 1001
- privilege enabled flag
- DOCA_APSH_PRIVILEGES_WINDOWS_DEFAULT = 1002
- privilege enabledbydefault flag
- enum doca_apsh_proc_file_details_attr
-
Values
- DOCA_APSH_PROCESS_FILE_DETAILS_PID = 0
- process file details pid
- DOCA_APSH_PROCESS_FILE_DETAILS_PATH = 1
- process file details path
- DOCA_APSH_PROCESS_FILE_DETAILS_SHA1 = 2
- process file details sha1
- DOCA_APSH_PROCESS_FILE_DETAILS_SHA256 = 3
- process file details sha256
- DOCA_APSH_PROCESS_FILE_DETAILS_INODE = 4
- process file details inode number
- DOCA_APSH_PROCESS_FILE_DETAILS_SIZE = 5
- process file details file size
- DOCA_APSH_PROCESS_FILE_DETAILS_ELF_TYPE = 6
- process file details elf type
- DOCA_APSH_PROCESS_FILE_DETAILS_INODE_ADDRESS = 7
- process file details inode address
- enum doca_apsh_process_attr
-
Values
- DOCA_APSH_PROCESS_PID = 0
- process id
- DOCA_APSH_PROCESS_PPID = 1
- process parent id
- DOCA_APSH_PROCESS_COMM = 2
- process executable name
- DOCA_APSH_PROCESS_CPU_TIME = 3
- process cpu time [ps]
- DOCA_APSH_PROCESS_WINDOWS_OFFSET = 1000
- process offset
- DOCA_APSH_PROCESS_WINDOWS_THREADS = 1001
- process thread count
- DOCA_APSH_PROCESS_WINDOWS_EXIT_TIME = 1002
- process exit time
- DOCA_APSH_PROCESS_LINUX_GID = 2000
- process group id
- DOCA_APSH_PROCESS_LINUX_UID = 2001
- process user id
- DOCA_APSH_PROCESS_LINUX_STATE = 2002
- process state
- DOCA_APSH_PROCESS_LINUX_NS_PID = 2003
- process PID namespace
- DOCA_APSH_PROCESS_LINUX_NS_MNT = 2004
- process mount namespace
- DOCA_APSH_PROCESS_LINUX_NS_NET = 2005
- process network namespace
- enum doca_apsh_process_parameters_attr
-
Values
- DOCA_APSH_PROCESS_PARAMETERS_PID = 0
- process-parameters pid
- DOCA_APSH_PROCESS_PARAMETERS_CMD_LINE = 1
- process-parameters command line
- DOCA_APSH_PROCESS_PARAMETERS_IMAGE_BASE_ADDR = 2
- process-parameters image base address
- DOCA_APSH_PROCESS_PARAMETERS_IMAGE_FULL_PATH = 3
- process-parameters image full path
- enum doca_apsh_sid_attr
-
Values
- DOCA_APSH_PROCESS_SID_PID = 0
- SID process id
- DOCA_APSH_PROCESS_SID_STRING = 1
- SID string
- DOCA_APSH_PROCESS_SID_ATTRIBUTES = 2
- SID attributes flag
- enum doca_apsh_system_config_attr
-
Values
- DOCA_APSH_OS_SYMBOL_MAP = 0
- os symbol map path
- DOCA_APSH_MEM_REGION = 1
- memory region path
- DOCA_APSH_KPGD_FILE = 2
- kpgd file path
- DOCA_APSH_VHCA_ID = 3
- vhca id
- DOCA_APSH_OS_TYPE = 4
- os type
- DOCA_APSH_SCAN_WIN_SIZE = 5
- yara scan window size
- DOCA_APSH_SCAN_WIN_STEP = 6
- yara scan window step
- DOCA_APSH_HASHTEST_LIMIT = 7
- limit of vm areas to attest
- DOCA_APSH_MODULES_LIMIT = 8
- limit of modules number
- DOCA_APSH_PROCESS_LIMIT = 9
- limit of processes number
- DOCA_APSH_THREADS_LIMIT = 10
- limit of threads number
- DOCA_APSH_LDRMODULES_LIMIT = 11
- limit of ldrmodules number on windows
- DOCA_APSH_LIBS_LIMIT = 12
- limit of libs number
- DOCA_APSH_VADS_LIMIT = 13
- limit of vads number
- DOCA_APSH_WINDOWS_ENVARS_LIMIT = 14
- length limit of envars for windows
- DOCA_APSH_HANDLES_LIMIT = 15
- limit of handles/FDs/sockets number
- DOCA_APSH_STRING_LIMIT = 16
- length limit of apsh_read_str
- DOCA_APSH_OS_SYMBOL_MAP_FOLDER = 17
- os symbol map files folder
- DOCA_APSH_FILESIZE_LIMIT = 18
- length limit of file size parsing
- enum doca_apsh_system_os
-
Values
- DOCA_APSH_SYSTEM_LINUX = 0
- linux
- DOCA_APSH_SYSTEM_WINDOWS = 1
- windows
- enum doca_apsh_thread_attr
-
Values
- DOCA_APSH_THREAD_PID = 0
- thread process id
- DOCA_APSH_THREAD_TID = 1
- thread id
- DOCA_APSH_THREAD_STATE = 2
- thread state
- DOCA_APSH_THREAD_WINDOWS_WAIT_REASON = 1000
- thread wait reason
- DOCA_APSH_THREAD_WINDOWS_OFFSET = 1001
- thread offset
- DOCA_APSH_THREAD_WINDOWS_SUSPEND_COUNT = 1002
- thread suspend count
- DOCA_APSH_THREAD_LINUX_PROC_NAME = 2000
- thread process name
- DOCA_APSH_THREAD_LINUX_THREAD_NAME = 2001
- thread name
- enum doca_apsh_vad_attr
-
Values
- DOCA_APSH_VMA_PID = 0
- vma process id
- DOCA_APSH_VMA_OFFSET = 1
- vma offset
- DOCA_APSH_VMA_PROTECTION = 2
- vma protection
- DOCA_APSH_VMA_VM_START = 3
- vma vm start
- DOCA_APSH_VMA_VM_END = 4
- vma vm end
- DOCA_APSH_VMA_PROCESS_NAME = 5
- vma process name
- DOCA_APSH_VMA_FILE_PATH = 6
- vma file path
- DOCA_APSH_VMA_WINDOWS_COMMIT_CHARGE = 1000
- vma commit charge
- DOCA_APSH_VMA_WINDOWS_PRIVATE_MEMORY = 1001
- vma private memory
- DOCA_APSH_VMA_WINDOWS_TAG = 1002
- vma pool tag
- enum doca_apsh_yara_attr
-
Values
- DOCA_APSH_YARA_PID = 0
- pid of the process
- DOCA_APSH_YARA_COMM = 1
- name of the process
- DOCA_APSH_YARA_RULE = 2
- rule name
- DOCA_APSH_YARA_MATCH_WINDOW_ADDR = 3
- virtual address of the scan window of the match
- DOCA_APSH_YARA_MATCH_WINDOW_LEN = 4
- length of the scan window of the match
- enum doca_apsh_yara_rule
-
Values
- DOCA_APSH_YARA_RULE_HELLO_WORLD = 0
- yara rule that scans for "Hello World". Rule name is "Hello_World".
- DOCA_APSH_YARA_RULE_REFLECTIVE_DLL_INJECTION = 1
- yara rule that scans for Reflective Dll Injection attack. Rule name is "Reflective_Dll_Injection".
- DOCA_APSH_YARA_RULE_MIMIKATZ = 2
- yara rule that scans for Mimikatz process running on the system. Rule name is "Mimikatz".
- enum doca_apsh_yara_scan_type
-
Values
- DOCA_APSH_YARA_SCAN_VMA = 1
- scan all vma tree, override all others
- DOCA_APSH_YARA_SCAN_HEAP = 1<<1
- scan heap vads
2.2.1. DOCA App Shield Attributes
[ DOCA App Shield ]
DOCA App Shield attributes to query with get functions, see doca_apsh.h
Typedefs
- typedef char * DOCA_APSH_ATTESTATION_COMM_TYPE
- attestation comm type
- typedef uint64_t DOCA_APSH_ATTESTATION_END_ADDRESS_TYPE
- attestation end address type
- typedef bool DOCA_APSH_ATTESTATION_HASH_DATA_IS_PRESENT_TYPE
- attestation hash data is present type
- typedef int DOCA_APSH_ATTESTATION_MATCHING_HASHES_TYPE
- attestation matching hashes type
- typedef int DOCA_APSH_ATTESTATION_PAGES_NUMBER_TYPE
- attestation pages number type
- typedef int DOCA_APSH_ATTESTATION_PAGES_PRESENT_TYPE
- attestation pages present type
- typedef char * DOCA_APSH_ATTESTATION_PATH_OF_MEMORY_AREA_TYPE
- attestation path of memory area type
- typedef uint32_t DOCA_APSH_ATTESTATION_PID_TYPE
- attestation pid type
- typedef char * DOCA_APSH_ATTESTATION_PROTECTION_TYPE
- attestation protection type
- typedef uint64_t DOCA_APSH_ATTESTATION_START_ADDRESS_TYPE
- attestation start address type
- typedef char * DOCA_APSH_CONTAINER_ID_TYPE
- container id type
- typedef doca_dev * DOCA_APSH_DMA_DEV_TYPE
- dma dev name
- typedef uint32_t DOCA_APSH_ENVARS_PID_TYPE
- envars pid type
- typedef char * DOCA_APSH_ENVARS_VALUE_TYPE
- envars value type
- typedef char * DOCA_APSH_ENVARS_VARIABLE_TYPE
- envars variable type
- typedef uint64_t DOCA_APSH_ENVARS_WINDOWS_BLOCK_TYPE
- envars windows block address type
- typedef int DOCA_APSH_FILESIZE_LIMIT_TYPE
- limit of parsed files size
- typedef uint64_t DOCA_APSH_HANDLE_ACCESS_TYPE
- handle access type
- typedef char * DOCA_APSH_HANDLE_NAME_TYPE
- handle name type
- typedef uint32_t DOCA_APSH_HANDLE_PID_TYPE
- handle pid type
- typedef uint64_t DOCA_APSH_HANDLE_TABLE_ENTRY_TYPE
- handle table entry type
- typedef char * DOCA_APSH_HANDLE_TYPE_TYPE
- handle type type
- typedef uint64_t DOCA_APSH_HANDLE_VALUE_TYPE
- handle value type
- typedef int DOCA_APSH_HASHTEST_LIMIT_TYPE
- limit of vm areas to attest
- typedef uint32_t DOCA_APSH_INJECTION_DETECT_PID_TYPE
- injection detect pid type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_END_TYPE
- injection detect suspected area end type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_START_TYPE
- injection detect suspected area start type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_END_TYPE
- injection detect VAD end address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_FILE_PATH_TYPE
- injection detect VAD file path type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_PROTECTION_TYPE
- injection detect VAD protection type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_START_TYPE
- injection detect VAD start address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_TAG_TYPE
- injection detect VAD pool tag type
- typedef char * DOCA_APSH_KPGD_FILE_TYPE
- kpgd file path
- typedef uint64_t DOCA_APSH_LDRMODULE_BASE_ADDRESS_TYPE
- ldrmodule base address type
- typedef char * DOCA_APSH_LDRMODULE_LIBRARY_PATH_TYPE
- ldrmodule library path type
- typedef uint32_t DOCA_APSH_LDRMODULE_PID_TYPE
- ldrmodule pid type
- typedef char * DOCA_APSH_LDRMODULE_WINDOWS_DLL_NAME_TYPE
- ldrmodule windows dll name type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_ININIT_TYPE
- ldrmodule ininit type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INLOAD_TYPE
- ldrmodule inload type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INMEM_TYPE
- ldrmodule inmem type
- typedef uint32_t DOCA_APSH_LDRMODULE_WINDOWS_SIZE_OF_IMAGE_TYPE
- ldrmodule size of image type
- typedef int DOCA_APSH_LIBS_LIMIT_TYPE
- limit of libs number
- typedef char * DOCA_APSH_LIB_LIBRARY_PATH_TYPE
- lib loaded library path type
- typedef uint64_t DOCA_APSH_LIB_LINUX_LOAD_ADRESS_TYPE
- lib load address for Linux
- typedef uint64_t DOCA_APSH_LIB_LOAD_ADRESS_TYPE
- lib load address for both Windows and Linux
- typedef uint32_t DOCA_APSH_LIB_PID_TYPE
- lib pid type
- typedef char * DOCA_APSH_LIB_WINDOWS_DLL_NAME_TYPE
- lib dll name type
- typedef uint32_t DOCA_APSH_LIB_WINDOWS_SIZE_OF_IMAGE_TYPE
- lib size of image type
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
- linux IPV4 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_TYPE
- linux interface IPV4
- typedef unsigned char * DOCA_APSH_LINUX_INTERFACE_IPV4_PREFIX_LEN_ARR_TYPE
- linux inteface IPV4 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
- linux IPV6 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_TYPE
- linux interface IPV6
- typedef uint32_t * DOCA_APSH_LINUX_INTERFACE_IPV6_PREFIX_LEN_ARR_TYPE
- linux IPV6 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
- linux interface mac address array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_MAC_ARR_TYPE
- linux interface mac address array
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_NAMESPACE_TYPE
- linux namespace
- typedef char * DOCA_APSH_LINUX_INTERFACE_NAME_TYPE
- linux interface name
- typedef char * DOCA_APSH_MEM_REGION_TYPE
- memory region path
- typedef int DOCA_APSH_MODULES_LIMIT_TYPE
- limit of modules number
- typedef char * DOCA_APSH_MODULES_NAME_TYPE
- module name type
- typedef uint64_t DOCA_APSH_MODULES_OFFSET_TYPE
- module offset type
- typedef uint32_t DOCA_APSH_MODULES_SIZE_TYPE
- module size type
- typedef char * DOCA_APSH_NETSCAN_COMM_TYPE
- netscan process name
- typedef char * DOCA_APSH_NETSCAN_LINUX_FAMILY_TYPE
- netscan linux connection Family
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_FD_TYPE
- netscan linux connection file descriptor
- typedef char * DOCA_APSH_NETSCAN_LINUX_FILTER_TYPE
- netscan linux connection filter
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
- netscan linux interface IPV4 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_TYPE
- netscan interface IPV4 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
- netscan linux interface IPV6 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_TYPE
- netscan linux interface IPV6 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
- netscan linux interface MAC array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_TYPE
- netscan linux interface MAC array
- typedef char * DOCA_APSH_NETSCAN_LINUX_INTERFACE_NAME_TYPE
- netscan linux interface name
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_NET_NAMESPACE_TYPE
- netscan linux connection net namespace
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_SOCKET_OFFSET_TYPE
- netscan linux connection socket offset
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_ACKED_TYPE
- netscan linux connection TCP acknowledged bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_RECEIVED_TYPE
- netscan linux connection TCP received bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_SENT_TYPE
- netscan linux connection TCP sent bytes
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_IN_TYPE
- netscan linux connection TCP data segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_OUT_TYPE
- netscan linux connection TCP data segments out
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_IN_TYPE
- netscan linux connection TCP segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_OUT_TYPE
- netscan linux connection TCP segments out
- typedef char * DOCA_APSH_NETSCAN_LINUX_TYPE_TYPE
- netscan linux connection Type
- typedef char * DOCA_APSH_NETSCAN_LOCAL_ADDR_TYPE
- netscan connection local address
- typedef uint64_t DOCA_APSH_NETSCAN_LOCAL_PORT_TYPE
- netscan connection local port
- typedef uint32_t DOCA_APSH_NETSCAN_PID_TYPE
- netscan process id
- typedef char * DOCA_APSH_NETSCAN_PROTOCOL_TYPE
- netscan connection protocol
- typedef char * DOCA_APSH_NETSCAN_REMOTE_ADDR_TYPE
- netscan connection remote address
- typedef uint64_t DOCA_APSH_NETSCAN_REMOTE_PORT_TYPE
- netscan connection remote port
- typedef char * DOCA_APSH_NETSCAN_STATE_TYPE
- netscan connection state
- typedef char * DOCA_APSH_NETSCAN_TIME_TYPE
- netscan windows connection creation time - depricated
- typedef char * DOCA_APSH_NETSCAN_WINDOWS_TIME_TYPE
- netscan windows connection creation time
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_FOLDER_TYPE
- os symbol map folder path
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_TYPE
- os symbol map path
- typedef enumdoca_apsh_system_os DOCA_APSH_OS_TYPE_TYPE
- os type
- typedef bool DOCA_APSH_PRIVILEGES_IS_ON_TYPE
- privilege is on type
- typedef char * DOCA_APSH_PRIVILEGES_NAME_TYPE
- privilege name type
- typedef uint32_t DOCA_APSH_PRIVILEGES_PID_TYPE
- privilege process pid
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_DEFAULT_TYPE
- privilege windows enabled by default type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_ENABLED_TYPE
- privilege windows enabled type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_PRESENT_TYPE
- privilege windows present type
- typedef char * DOCA_APSH_PROCESS_COMM_TYPE
- process comm type
- typedef uint64_t DOCA_APSH_PROCESS_CPU_TIME_TYPE
- process cpu time type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_ELF_TYPE_TYPE
- process file details elf type type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_ADDRESS_TYPE
- process file details inode address type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_TYPE
- process file details inode number type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_PATH_TYPE
- process file details path type
- typedef uint32_t DOCA_APSH_PROCESS_FILE_DETAILS_PID_TYPE
- process file details pid type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA1_TYPE
- process file details sha1 type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA256_TYPE
- process file details sha256 type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_SIZE_TYPE
- process file details file size type
- typedef int DOCA_APSH_PROCESS_LIMIT_TYPE
- limit of processes number
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_GID_TYPE
- process gid type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_MNT_TYPE
- process mount namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_NET_TYPE
- process network namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_PID_TYPE
- process PID namespace type
- typedef uint64_t DOCA_APSH_PROCESS_LINUX_STATE_TYPE
- process state type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_UID_TYPE
- process uid type
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_CMD_LINE_TYPE
- process-parameters command line
- typedef uint64_t DOCA_APSH_PROCESS_PARAMETERS_IMAGE_BASE_ADDR_TYPE
- process-parameters image base address
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_IMAGE_FULL_PATH_TYPE
- process-parameters image full path
- typedef uint32_t DOCA_APSH_PROCESS_PARAMETERS_PID_TYPE
- process-parameters pid
- typedef uint32_t DOCA_APSH_PROCESS_PID_TYPE
- process pid type
- typedef uint32_t DOCA_APSH_PROCESS_PPID_TYPE
- process pid type
- typedef uint32_t DOCA_APSH_PROCESS_SID_ATTRIBUTES_TYPE
- SID attributes flag.
- typedef uint32_t DOCA_APSH_PROCESS_SID_PID_TYPE
- SID process id.
- typedef char * DOCA_APSH_PROCESS_SID_STRING_TYPE
- SID strings.
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_EXIT_TIME_TYPE
- process exit time type
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_OFFSET_TYPE
- process offset type
- typedef uint32_t DOCA_APSH_PROCESS_WINDOWS_THREADS_TYPE
- process threads type
- typedef uint32_t DOCA_APSH_SCAN_WIN_SIZE_TYPE
- yara scan window size
- typedef uint32_t DOCA_APSH_SCAN_WIN_STEP_TYPE
- yara scan window step
- typedef int DOCA_APSH_STRING_LIMIT_TYPE
- length limit of apsh_read_str
- typedef int DOCA_APSH_THREADS_LIMIT_TYPE
- limit of threads number
- typedef char * DOCA_APSH_THREAD_LINUX_PROC_NAME_TYPE
- thread proc name type
- typedef char * DOCA_APSH_THREAD_LINUX_THREAD_NAME_TYPE
- thread thread name type
- typedef uint32_t DOCA_APSH_THREAD_PID_TYPE
- thread pid type
- typedef uint64_t DOCA_APSH_THREAD_STATE_TYPE
- thread state type
- typedef uint32_t DOCA_APSH_THREAD_TID_TYPE
- thread tid type
- typedef uint64_t DOCA_APSH_THREAD_WINDOWS_OFFSET_TYPE
- thread offset type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_SUSPEND_COUNT_TYPE
- thread suspend count type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_WAIT_REASON_TYPE
- thread wait reason type
- typedef int DOCA_APSH_VADS_LIMIT_TYPE
- limit of vads number
- typedef doca_dev_rep * DOCA_APSH_VHCA_ID_TYPE
- vhca id
- typedef char * DOCA_APSH_VMA_FILE_PATH_TYPE
- vma file path type
- typedef uint64_t DOCA_APSH_VMA_OFFSET_TYPE
- vma offset type
- typedef uint32_t DOCA_APSH_VMA_PID_TYPE
- vma pid type
- typedef char * DOCA_APSH_VMA_PROCESS_NAME_TYPE
- vma file path type
- typedef char * DOCA_APSH_VMA_PROTECTION_TYPE
- vma protection type
- typedef uint64_t DOCA_APSH_VMA_VM_END_TYPE
- vma vm end type
- typedef uint64_t DOCA_APSH_VMA_VM_START_TYPE
- vma vm start type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_COMMIT_CHARGE_TYPE
- vma commit charge type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_PRIVATE_MEMORY_TYPE
- vma private memory type
- typedef char * DOCA_APSH_VMA_WINDOWS_TAG_TYPE
- vma tag type
- typedef int DOCA_APSH_WINDOWS_ENVARS_LIMIT_TYPE
- length limit of envars for windows
- typedef char * DOCA_APSH_YARA_COMM_TYPE
- name of the process
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_ADDR_TYPE
- virtual address of the scan window of the match
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_LEN_TYPE
- length of the scan window of the match
- typedef uint32_t DOCA_APSH_YARA_PID_TYPE
- pid of the process
- typedef char * DOCA_APSH_YARA_RULE_TYPE
- rule name
Enumerations
- enum doca_apsh_attestation_attr
- doca app shield attestation attributes
- enum doca_apsh_container_attr
- doca app shield process attributes
- enum doca_apsh_envar_attr
- doca app shield envars attributes
- enum doca_apsh_handle_attr
- doca app shield handle attributes
- enum doca_apsh_injection_detect_attr
- doca app shield injection detect attributes
- enum doca_apsh_interface_attr
- doca app shield interface attributes
- enum doca_apsh_ldrmodule_attr
- doca app shield LDR-Modules attributes
- enum doca_apsh_lib_attr
- doca app shield lib attributes
- enum doca_apsh_module_attr
- doca app shield module attributes
- enum doca_apsh_netscan_attr
- doca app shield netscan attributes
- enum doca_apsh_privilege_attr
- doca app shield privileges attributes windows privilege list can be found on: https://docs.microsoft.com/en-us/windows/win32/secauthz/privilege-constants
- enum doca_apsh_proc_file_details_attr
- doca app shield process file details attributes
- enum doca_apsh_process_attr
- doca app shield process attributes
- enum doca_apsh_process_parameters_attr
- doca app shield process-parameters attributes
- enum doca_apsh_sid_attr
- doca app shield SID (security identifiers) attributes
- enum doca_apsh_system_config_attr
- doca app shield configuration attributes
- enum doca_apsh_system_os
- system os types
- enum doca_apsh_thread_attr
- doca app shield thread attributes
- enum doca_apsh_vad_attr
- doca app shield virtual address descriptor attributes
- enum doca_apsh_yara_attr
- doca app shield yara attributes
- enum doca_apsh_yara_rule
- available doca app shield yara rules
- enum doca_apsh_yara_scan_type
- doca app shield yara scan type bitmask
Typedefs
- typedef char * DOCA_APSH_ATTESTATION_COMM_TYPE
attestation comm type
- typedef uint64_t DOCA_APSH_ATTESTATION_END_ADDRESS_TYPE
attestation end address type
- typedef bool DOCA_APSH_ATTESTATION_HASH_DATA_IS_PRESENT_TYPE
attestation hash data is present type
- typedef int DOCA_APSH_ATTESTATION_MATCHING_HASHES_TYPE
attestation matching hashes type
- typedef int DOCA_APSH_ATTESTATION_PAGES_NUMBER_TYPE
attestation pages number type
- typedef int DOCA_APSH_ATTESTATION_PAGES_PRESENT_TYPE
attestation pages present type
- typedef char * DOCA_APSH_ATTESTATION_PATH_OF_MEMORY_AREA_TYPE
attestation path of memory area type
- typedef uint32_t DOCA_APSH_ATTESTATION_PID_TYPE
attestation pid type
- typedef char * DOCA_APSH_ATTESTATION_PROTECTION_TYPE
attestation protection type
- typedef uint64_t DOCA_APSH_ATTESTATION_START_ADDRESS_TYPE
attestation start address type
- typedef char * DOCA_APSH_CONTAINER_ID_TYPE
container id type
- typedef doca_dev * DOCA_APSH_DMA_DEV_TYPE
dma dev name
- typedef uint32_t DOCA_APSH_ENVARS_PID_TYPE
envars pid type
- typedef char * DOCA_APSH_ENVARS_VALUE_TYPE
envars value type
- typedef char * DOCA_APSH_ENVARS_VARIABLE_TYPE
envars variable type
- typedef uint64_t DOCA_APSH_ENVARS_WINDOWS_BLOCK_TYPE
envars windows block address type
- typedef int DOCA_APSH_FILESIZE_LIMIT_TYPE
limit of parsed files size
- typedef uint64_t DOCA_APSH_HANDLE_ACCESS_TYPE
handle access type
- typedef char * DOCA_APSH_HANDLE_NAME_TYPE
handle name type
- typedef uint32_t DOCA_APSH_HANDLE_PID_TYPE
handle pid type
- typedef uint64_t DOCA_APSH_HANDLE_TABLE_ENTRY_TYPE
handle table entry type
- typedef char * DOCA_APSH_HANDLE_TYPE_TYPE
handle type type
- typedef uint64_t DOCA_APSH_HANDLE_VALUE_TYPE
handle value type
- typedef int DOCA_APSH_HASHTEST_LIMIT_TYPE
limit of vm areas to attest
- typedef uint32_t DOCA_APSH_INJECTION_DETECT_PID_TYPE
injection detect pid type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_END_TYPE
injection detect suspected area end type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_START_TYPE
injection detect suspected area start type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_END_TYPE
injection detect VAD end address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_FILE_PATH_TYPE
injection detect VAD file path type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_PROTECTION_TYPE
injection detect VAD protection type
- typedef uint64_t DOCA_APSH_INJECTION_DETECT_VAD_START_TYPE
injection detect VAD start address type
- typedef char * DOCA_APSH_INJECTION_DETECT_VAD_TAG_TYPE
injection detect VAD pool tag type
- typedef char * DOCA_APSH_KPGD_FILE_TYPE
kpgd file path
- typedef uint64_t DOCA_APSH_LDRMODULE_BASE_ADDRESS_TYPE
ldrmodule base address type
- typedef char * DOCA_APSH_LDRMODULE_LIBRARY_PATH_TYPE
ldrmodule library path type
- typedef uint32_t DOCA_APSH_LDRMODULE_PID_TYPE
ldrmodule pid type
- typedef char * DOCA_APSH_LDRMODULE_WINDOWS_DLL_NAME_TYPE
ldrmodule windows dll name type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_ININIT_TYPE
ldrmodule ininit type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INLOAD_TYPE
ldrmodule inload type
- typedef bool DOCA_APSH_LDRMODULE_WINDOWS_INMEM_TYPE
ldrmodule inmem type
- typedef uint32_t DOCA_APSH_LDRMODULE_WINDOWS_SIZE_OF_IMAGE_TYPE
ldrmodule size of image type
- typedef int DOCA_APSH_LIBS_LIMIT_TYPE
limit of libs number
- typedef char * DOCA_APSH_LIB_LIBRARY_PATH_TYPE
lib loaded library path type
- typedef uint64_t DOCA_APSH_LIB_LINUX_LOAD_ADRESS_TYPE
lib load address for Linux
- typedef uint64_t DOCA_APSH_LIB_LOAD_ADRESS_TYPE
lib load address for both Windows and Linux
- typedef uint32_t DOCA_APSH_LIB_PID_TYPE
lib pid type
- typedef char * DOCA_APSH_LIB_WINDOWS_DLL_NAME_TYPE
lib dll name type
- typedef uint32_t DOCA_APSH_LIB_WINDOWS_SIZE_OF_IMAGE_TYPE
lib size of image type
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
linux IPV4 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_TYPE
linux interface IPV4
- typedef unsigned char * DOCA_APSH_LINUX_INTERFACE_IPV4_PREFIX_LEN_ARR_TYPE
linux inteface IPV4 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
linux IPV6 adrress array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_TYPE
linux interface IPV6
- typedef uint32_t * DOCA_APSH_LINUX_INTERFACE_IPV6_PREFIX_LEN_ARR_TYPE
linux IPV6 prefix len
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
linux interface mac address array size
- typedef char ** DOCA_APSH_LINUX_INTERFACE_MAC_ARR_TYPE
linux interface mac address array
- typedef uint32_t DOCA_APSH_LINUX_INTERFACE_NAMESPACE_TYPE
linux namespace
- typedef char * DOCA_APSH_LINUX_INTERFACE_NAME_TYPE
linux interface name
- typedef char * DOCA_APSH_MEM_REGION_TYPE
memory region path
- typedef int DOCA_APSH_MODULES_LIMIT_TYPE
limit of modules number
- typedef char * DOCA_APSH_MODULES_NAME_TYPE
module name type
- typedef uint64_t DOCA_APSH_MODULES_OFFSET_TYPE
module offset type
- typedef uint32_t DOCA_APSH_MODULES_SIZE_TYPE
module size type
- typedef char * DOCA_APSH_NETSCAN_COMM_TYPE
netscan process name
- typedef char * DOCA_APSH_NETSCAN_LINUX_FAMILY_TYPE
netscan linux connection Family
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_FD_TYPE
netscan linux connection file descriptor
- typedef char * DOCA_APSH_NETSCAN_LINUX_FILTER_TYPE
netscan linux connection filter
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_SIZE_TYPE
netscan linux interface IPV4 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_TYPE
netscan interface IPV4 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_SIZE_TYPE
netscan linux interface IPV6 array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_TYPE
netscan linux interface IPV6 array
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_SIZE_TYPE
netscan linux interface MAC array size
- typedef char ** DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_TYPE
netscan linux interface MAC array
- typedef char * DOCA_APSH_NETSCAN_LINUX_INTERFACE_NAME_TYPE
netscan linux interface name
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_NET_NAMESPACE_TYPE
netscan linux connection net namespace
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_SOCKET_OFFSET_TYPE
netscan linux connection socket offset
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_ACKED_TYPE
netscan linux connection TCP acknowledged bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_RECEIVED_TYPE
netscan linux connection TCP received bytes
- typedef uint64_t DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_SENT_TYPE
netscan linux connection TCP sent bytes
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_IN_TYPE
netscan linux connection TCP data segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_OUT_TYPE
netscan linux connection TCP data segments out
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_IN_TYPE
netscan linux connection TCP segments in
- typedef uint32_t DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_OUT_TYPE
netscan linux connection TCP segments out
- typedef char * DOCA_APSH_NETSCAN_LINUX_TYPE_TYPE
netscan linux connection Type
- typedef char * DOCA_APSH_NETSCAN_LOCAL_ADDR_TYPE
netscan connection local address
- typedef uint64_t DOCA_APSH_NETSCAN_LOCAL_PORT_TYPE
netscan connection local port
- typedef uint32_t DOCA_APSH_NETSCAN_PID_TYPE
netscan process id
- typedef char * DOCA_APSH_NETSCAN_PROTOCOL_TYPE
netscan connection protocol
- typedef char * DOCA_APSH_NETSCAN_REMOTE_ADDR_TYPE
netscan connection remote address
- typedef uint64_t DOCA_APSH_NETSCAN_REMOTE_PORT_TYPE
netscan connection remote port
- typedef char * DOCA_APSH_NETSCAN_STATE_TYPE
netscan connection state
- typedef char * DOCA_APSH_NETSCAN_TIME_TYPE
netscan windows connection creation time - depricated
- typedef char * DOCA_APSH_NETSCAN_WINDOWS_TIME_TYPE
netscan windows connection creation time
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_FOLDER_TYPE
os symbol map folder path
- typedef char * DOCA_APSH_OS_SYMBOL_MAP_TYPE
os symbol map path
- typedef enumdoca_apsh_system_os DOCA_APSH_OS_TYPE_TYPE
os type
- typedef bool DOCA_APSH_PRIVILEGES_IS_ON_TYPE
privilege is on type
- typedef char * DOCA_APSH_PRIVILEGES_NAME_TYPE
privilege name type
- typedef uint32_t DOCA_APSH_PRIVILEGES_PID_TYPE
privilege process pid
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_DEFAULT_TYPE
privilege windows enabled by default type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_ENABLED_TYPE
privilege windows enabled type
- typedef bool DOCA_APSH_PRIVILEGES_WINDOWS_PRESENT_TYPE
privilege windows present type
- typedef char * DOCA_APSH_PROCESS_COMM_TYPE
process comm type
- typedef uint64_t DOCA_APSH_PROCESS_CPU_TIME_TYPE
process cpu time type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_ELF_TYPE_TYPE
process file details elf type type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_ADDRESS_TYPE
process file details inode address type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_INODE_TYPE
process file details inode number type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_PATH_TYPE
process file details path type
- typedef uint32_t DOCA_APSH_PROCESS_FILE_DETAILS_PID_TYPE
process file details pid type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA1_TYPE
process file details sha1 type
- typedef char * DOCA_APSH_PROCESS_FILE_DETAILS_SHA256_TYPE
process file details sha256 type
- typedef uint64_t DOCA_APSH_PROCESS_FILE_DETAILS_SIZE_TYPE
process file details file size type
- typedef int DOCA_APSH_PROCESS_LIMIT_TYPE
limit of processes number
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_GID_TYPE
process gid type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_MNT_TYPE
process mount namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_NET_TYPE
process network namespace type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_NS_PID_TYPE
process PID namespace type
- typedef uint64_t DOCA_APSH_PROCESS_LINUX_STATE_TYPE
process state type
- typedef uint32_t DOCA_APSH_PROCESS_LINUX_UID_TYPE
process uid type
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_CMD_LINE_TYPE
process-parameters command line
- typedef uint64_t DOCA_APSH_PROCESS_PARAMETERS_IMAGE_BASE_ADDR_TYPE
process-parameters image base address
- typedef char * DOCA_APSH_PROCESS_PARAMETERS_IMAGE_FULL_PATH_TYPE
process-parameters image full path
- typedef uint32_t DOCA_APSH_PROCESS_PARAMETERS_PID_TYPE
process-parameters pid
- typedef uint32_t DOCA_APSH_PROCESS_PID_TYPE
process pid type
- typedef uint32_t DOCA_APSH_PROCESS_PPID_TYPE
process pid type
- typedef uint32_t DOCA_APSH_PROCESS_SID_ATTRIBUTES_TYPE
SID attributes flag.
- typedef uint32_t DOCA_APSH_PROCESS_SID_PID_TYPE
SID process id.
- typedef char * DOCA_APSH_PROCESS_SID_STRING_TYPE
SID strings.
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_EXIT_TIME_TYPE
process exit time type
- typedef uint64_t DOCA_APSH_PROCESS_WINDOWS_OFFSET_TYPE
process offset type
- typedef uint32_t DOCA_APSH_PROCESS_WINDOWS_THREADS_TYPE
process threads type
- typedef uint32_t DOCA_APSH_SCAN_WIN_SIZE_TYPE
yara scan window size
- typedef uint32_t DOCA_APSH_SCAN_WIN_STEP_TYPE
yara scan window step
- typedef int DOCA_APSH_STRING_LIMIT_TYPE
length limit of apsh_read_str
- typedef int DOCA_APSH_THREADS_LIMIT_TYPE
limit of threads number
- typedef char * DOCA_APSH_THREAD_LINUX_PROC_NAME_TYPE
thread proc name type
- typedef char * DOCA_APSH_THREAD_LINUX_THREAD_NAME_TYPE
thread thread name type
- typedef uint32_t DOCA_APSH_THREAD_PID_TYPE
thread pid type
- typedef uint64_t DOCA_APSH_THREAD_STATE_TYPE
thread state type
- typedef uint32_t DOCA_APSH_THREAD_TID_TYPE
thread tid type
- typedef uint64_t DOCA_APSH_THREAD_WINDOWS_OFFSET_TYPE
thread offset type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_SUSPEND_COUNT_TYPE
thread suspend count type
- typedef uint8_t DOCA_APSH_THREAD_WINDOWS_WAIT_REASON_TYPE
thread wait reason type
- typedef int DOCA_APSH_VADS_LIMIT_TYPE
limit of vads number
- typedef doca_dev_rep * DOCA_APSH_VHCA_ID_TYPE
vhca id
- typedef char * DOCA_APSH_VMA_FILE_PATH_TYPE
vma file path type
- typedef uint64_t DOCA_APSH_VMA_OFFSET_TYPE
vma offset type
- typedef uint32_t DOCA_APSH_VMA_PID_TYPE
vma pid type
- typedef char * DOCA_APSH_VMA_PROCESS_NAME_TYPE
vma file path type
- typedef char * DOCA_APSH_VMA_PROTECTION_TYPE
vma protection type
- typedef uint64_t DOCA_APSH_VMA_VM_END_TYPE
vma vm end type
- typedef uint64_t DOCA_APSH_VMA_VM_START_TYPE
vma vm start type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_COMMIT_CHARGE_TYPE
vma commit charge type
- typedef uint32_t DOCA_APSH_VMA_WINDOWS_PRIVATE_MEMORY_TYPE
vma private memory type
- typedef char * DOCA_APSH_VMA_WINDOWS_TAG_TYPE
vma tag type
- typedef int DOCA_APSH_WINDOWS_ENVARS_LIMIT_TYPE
length limit of envars for windows
- typedef char * DOCA_APSH_YARA_COMM_TYPE
name of the process
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_ADDR_TYPE
virtual address of the scan window of the match
- typedef uint64_t DOCA_APSH_YARA_MATCH_WINDOW_LEN_TYPE
length of the scan window of the match
- typedef uint32_t DOCA_APSH_YARA_PID_TYPE
pid of the process
- typedef char * DOCA_APSH_YARA_RULE_TYPE
rule name
Enumerations
- enum doca_apsh_attestation_attr
-
Values
- DOCA_APSH_ATTESTATION_PID = 0
- attestation process id
- DOCA_APSH_ATTESTATION_COMM = 1
- attestation process name
- DOCA_APSH_ATTESTATION_PATH_OF_MEMORY_AREA = 2
- attestation path of memory area
- DOCA_APSH_ATTESTATION_PROTECTION = 3
- attestation protection
- DOCA_APSH_ATTESTATION_START_ADDRESS = 4
- attestation start address
- DOCA_APSH_ATTESTATION_END_ADDRESS = 5
- attestation end address
- DOCA_APSH_ATTESTATION_PAGES_NUMBER = 6
- attestation process pages count in binary file
- DOCA_APSH_ATTESTATION_PAGES_PRESENT = 7
- attestation pages present in memory
- DOCA_APSH_ATTESTATION_MATCHING_HASHES = 8
- attestation pages hash match count from pages in memory
- DOCA_APSH_ATTESTATION_HASH_DATA_IS_PRESENT = 9
- attestation hash data is present
- enum doca_apsh_container_attr
-
Values
- DOCA_APSH_CONTAINER_ID = 0
- container id
- enum doca_apsh_envar_attr
-
Values
- DOCA_APSH_ENVARS_PID = 0
- envars pid
- DOCA_APSH_ENVARS_VARIABLE = 2
- envars variable
- DOCA_APSH_ENVARS_VALUE = 3
- envars value
- DOCA_APSH_ENVARS_WINDOWS_BLOCK = 1000
- envars windows environment block address
- enum doca_apsh_handle_attr
-
Values
- DOCA_APSH_HANDLE_PID = 0
- handle process id
- DOCA_APSH_HANDLE_VALUE = 2
- handle value
- DOCA_APSH_HANDLE_TABLE_ENTRY = 3
- handle table entry
- DOCA_APSH_HANDLE_TYPE = 4
- handle type
- DOCA_APSH_HANDLE_ACCESS = 5
- handle access
- DOCA_APSH_HANDLE_NAME = 6
- handle name
- enum doca_apsh_injection_detect_attr
-
Values
- DOCA_APSH_INJECTION_DETECT_PID
- suspected injection process id
- DOCA_APSH_INJECTION_DETECT_VAD_START
- suspected injection VAD start address
- DOCA_APSH_INJECTION_DETECT_VAD_END
- suspected injection VAD end address
- DOCA_APSH_INJECTION_DETECT_VAD_PROTECTION
- suspected injection VAD protection
- DOCA_APSH_INJECTION_DETECT_VAD_TAG
- suspected injection VAD pool tag
- DOCA_APSH_INJECTION_DETECT_VAD_FILE_PATH
- suspected injection VAD file path
- DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_START
- suspected injection suspected area start
- DOCA_APSH_INJECTION_DETECT_SUSPECTED_AREA_END
- suspected injection suspected area end
- enum doca_apsh_interface_attr
-
Values
- DOCA_APSH_LINUX_INTERFACE_NAME = 3000
- linux interface name
- DOCA_APSH_LINUX_INTERFACE_IPV4_ARR = 3001
- linux interface IPV4 address array
- DOCA_APSH_LINUX_INTERFACE_IPV4_PREFIX_LEN_ARR = 3002
- linux interface IPV4 prefix_len array
- DOCA_APSH_LINUX_INTERFACE_IPV4_ARR_SIZE = 3003
- linux interface IPV4 address array size
- DOCA_APSH_LINUX_INTERFACE_MAC_ARR = 3004
- linux interface mac address array
- DOCA_APSH_LINUX_INTERFACE_MAC_ARR_SIZE = 3005
- linux interface mac address array size
- DOCA_APSH_LINUX_INTERFACE_IPV6_ARR = 3006
- linux interface IPV6 address array
- DOCA_APSH_LINUX_INTERFACE_IPV6_PREFIX_LEN_ARR = 3007
- linux interface IPV6 prefix_len array
- DOCA_APSH_LINUX_INTERFACE_IPV6_ARR_SIZE = 3008
- linux interface IPV6 address array size
- DOCA_APSH_LINUX_INTERFACE_NAMESPACE = 3009
- linux interface namespace
- enum doca_apsh_ldrmodule_attr
-
Values
- DOCA_APSH_LDRMODULE_PID = 0
- ldrmodule process pid
- DOCA_APSH_LDRMODULE_BASE_ADDRESS = 2
- ldrmodule base address
- DOCA_APSH_LDRMODULE_LIBRARY_PATH = 3
- ldrmodule loaded library path
- DOCA_APSH_LDRMODULE_WINDOWS_DLL_NAME = 1000
- ldrmodule dll name
- DOCA_APSH_LDRMODULE_WINDOWS_SIZE_OF_IMAGE = 1001
- ldrmodule size of image
- DOCA_APSH_LDRMODULE_WINDOWS_INLOAD = 1002
- ldrmodule appear in inload list
- DOCA_APSH_LDRMODULE_WINDOWS_INMEM = 1003
- ldrmodule appear in inmem list
- DOCA_APSH_LDRMODULE_WINDOWS_ININIT = 1004
- ldrmodule appear in ininit list
- enum doca_apsh_lib_attr
-
Values
- DOCA_APSH_LIB_PID = 0
- lib pid
- DOCA_APSH_LIB_LIBRARY_PATH = 2
- lib loaded library path
- DOCA_APSH_LIB_LOAD_ADRESS = 3
- lib load address for both Windows and Linux
- DOCA_APSH_LIB_WINDOWS_DLL_NAME = 1000
- lib dll name
- DOCA_APSH_LIB_WINDOWS_SIZE_OF_IMAGE = 1001
- lib size of image
- DOCA_APSH_LIB_LINUX_LOAD_ADRESS = 2000
- lib load address for Linux. It's kept for backwards compatibility, use DOCA_APSH_LIB_LOAD_ADRESS instead-
- enum doca_apsh_module_attr
-
Values
- DOCA_APSH_MODULES_OFFSET = 0
- module offset
- DOCA_APSH_MODULES_NAME = 1
- module name
- DOCA_APSH_MODULES_SIZE = 2
- module size
- enum doca_apsh_netscan_attr
-
Values
- DOCA_APSH_NETSCAN_PID = 0
- netscan connection process id
- DOCA_APSH_NETSCAN_COMM = 1
- netscan connection process name
- DOCA_APSH_NETSCAN_PROTOCOL = 2
- netscan connection protcol
- DOCA_APSH_NETSCAN_LOCAL_ADDR = 3
- netscan connection local address
- DOCA_APSH_NETSCAN_REMOTE_ADDR = 4
- netscan connection remote address
- DOCA_APSH_NETSCAN_LOCAL_PORT = 5
- netscan connection local port
- DOCA_APSH_NETSCAN_REMOTE_PORT = 6
- netscan connection remote port
- DOCA_APSH_NETSCAN_STATE = 7
- netscan connection state
- DOCA_APSH_NETSCAN_TIME = 8
- netscan connection creation time - windows only. depricated - use DOCA_APSH_NETSCAN_WINDOWS_TIME instead
- DOCA_APSH_NETSCAN_WINDOWS_TIME = 1000
- netscan windows connection creation time
- DOCA_APSH_NETSCAN_LINUX_FD = 2000
- netscan linux connection file descriptor
- DOCA_APSH_NETSCAN_LINUX_SOCKET_OFFSET = 2001
- netscan linux connection socket offset
- DOCA_APSH_NETSCAN_LINUX_FAMILY = 2002
- netscan linux connection Family
- DOCA_APSH_NETSCAN_LINUX_TYPE = 2003
- netscan linux connection Type
- DOCA_APSH_NETSCAN_LINUX_FILTER = 2004
- netscan linux connection filter
- DOCA_APSH_NETSCAN_LINUX_NET_NAMESPACE = 2005
- netscan linux connection net namespace
- DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_SENT = 2006
- netscan linux connection TCP sent bytes
- DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_ACKED = 2007
- netscan linux connection TCP acknowledged bytes
- DOCA_APSH_NETSCAN_LINUX_TCP_BYTES_RECEIVED = 2008
- netscan linux connection TCP received bytes
- DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_IN = 2009
- netscan linux connection TCP segments in
- DOCA_APSH_NETSCAN_LINUX_TCP_SEGS_OUT = 2010
- netscan linux connection TCP segments out
- DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_IN = 2011
- netscan linux connection TCP data segments in
- DOCA_APSH_NETSCAN_LINUX_TCP_DATA_SEGS_OUT = 2012
- netscan linux connection TCP data segments out
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_NAME = 2013
- netscan linux interface name
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR = 2014
- netscan linux interface IPV4 address array
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV4_ARR_SIZE = 2015
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR = 2016
- netscan linux interface IPV4 array size netscan linux interface mac address array
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_MAC_ARR_SIZE = 2017
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR = 2018
- netscan linux interface mac array size netscan linux interface IPV6 address array
- DOCA_APSH_NETSCAN_LINUX_INTERFACE_IPV6_ARR_SIZE = 2019
- enum doca_apsh_privilege_attr
-
Values
- DOCA_APSH_PRIVILEGES_PID = 0
- privilege process pid
- DOCA_APSH_PRIVILEGES_NAME = 2
- privilege name, for example: SeTcbPrivilege
- DOCA_APSH_PRIVILEGES_IS_ON = 3
- is the privilege turned on or off. For Windows this is the outcome of get(PRESENT) && (get(ENABLED) || get(DEFAULT))
- DOCA_APSH_PRIVILEGES_WINDOWS_PRESENT = 1000
- privilege present flag
- DOCA_APSH_PRIVILEGES_WINDOWS_ENABLED = 1001
- privilege enabled flag
- DOCA_APSH_PRIVILEGES_WINDOWS_DEFAULT = 1002
- privilege enabledbydefault flag
- enum doca_apsh_proc_file_details_attr
-
Values
- DOCA_APSH_PROCESS_FILE_DETAILS_PID = 0
- process file details pid
- DOCA_APSH_PROCESS_FILE_DETAILS_PATH = 1
- process file details path
- DOCA_APSH_PROCESS_FILE_DETAILS_SHA1 = 2
- process file details sha1
- DOCA_APSH_PROCESS_FILE_DETAILS_SHA256 = 3
- process file details sha256
- DOCA_APSH_PROCESS_FILE_DETAILS_INODE = 4
- process file details inode number
- DOCA_APSH_PROCESS_FILE_DETAILS_SIZE = 5
- process file details file size
- DOCA_APSH_PROCESS_FILE_DETAILS_ELF_TYPE = 6
- process file details elf type
- DOCA_APSH_PROCESS_FILE_DETAILS_INODE_ADDRESS = 7
- process file details inode address
- enum doca_apsh_process_attr
-
Values
- DOCA_APSH_PROCESS_PID = 0
- process id
- DOCA_APSH_PROCESS_PPID = 1
- process parent id
- DOCA_APSH_PROCESS_COMM = 2
- process executable name
- DOCA_APSH_PROCESS_CPU_TIME = 3
- process cpu time [ps]
- DOCA_APSH_PROCESS_WINDOWS_OFFSET = 1000
- process offset
- DOCA_APSH_PROCESS_WINDOWS_THREADS = 1001
- process thread count
- DOCA_APSH_PROCESS_WINDOWS_EXIT_TIME = 1002
- process exit time
- DOCA_APSH_PROCESS_LINUX_GID = 2000
- process group id
- DOCA_APSH_PROCESS_LINUX_UID = 2001
- process user id
- DOCA_APSH_PROCESS_LINUX_STATE = 2002
- process state
- DOCA_APSH_PROCESS_LINUX_NS_PID = 2003
- process PID namespace
- DOCA_APSH_PROCESS_LINUX_NS_MNT = 2004
- process mount namespace
- DOCA_APSH_PROCESS_LINUX_NS_NET = 2005
- process network namespace
- enum doca_apsh_process_parameters_attr
-
Values
- DOCA_APSH_PROCESS_PARAMETERS_PID = 0
- process-parameters pid
- DOCA_APSH_PROCESS_PARAMETERS_CMD_LINE = 1
- process-parameters command line
- DOCA_APSH_PROCESS_PARAMETERS_IMAGE_BASE_ADDR = 2
- process-parameters image base address
- DOCA_APSH_PROCESS_PARAMETERS_IMAGE_FULL_PATH = 3
- process-parameters image full path
- enum doca_apsh_sid_attr
-
Values
- DOCA_APSH_PROCESS_SID_PID = 0
- SID process id
- DOCA_APSH_PROCESS_SID_STRING = 1
- SID string
- DOCA_APSH_PROCESS_SID_ATTRIBUTES = 2
- SID attributes flag
- enum doca_apsh_system_config_attr
-
Values
- DOCA_APSH_OS_SYMBOL_MAP = 0
- os symbol map path
- DOCA_APSH_MEM_REGION = 1
- memory region path
- DOCA_APSH_KPGD_FILE = 2
- kpgd file path
- DOCA_APSH_VHCA_ID = 3
- vhca id
- DOCA_APSH_OS_TYPE = 4
- os type
- DOCA_APSH_SCAN_WIN_SIZE = 5
- yara scan window size
- DOCA_APSH_SCAN_WIN_STEP = 6
- yara scan window step
- DOCA_APSH_HASHTEST_LIMIT = 7
- limit of vm areas to attest
- DOCA_APSH_MODULES_LIMIT = 8
- limit of modules number
- DOCA_APSH_PROCESS_LIMIT = 9
- limit of processes number
- DOCA_APSH_THREADS_LIMIT = 10
- limit of threads number
- DOCA_APSH_LDRMODULES_LIMIT = 11
- limit of ldrmodules number on windows
- DOCA_APSH_LIBS_LIMIT = 12
- limit of libs number
- DOCA_APSH_VADS_LIMIT = 13
- limit of vads number
- DOCA_APSH_WINDOWS_ENVARS_LIMIT = 14
- length limit of envars for windows
- DOCA_APSH_HANDLES_LIMIT = 15
- limit of handles/FDs/sockets number
- DOCA_APSH_STRING_LIMIT = 16
- length limit of apsh_read_str
- DOCA_APSH_OS_SYMBOL_MAP_FOLDER = 17
- os symbol map files folder
- DOCA_APSH_FILESIZE_LIMIT = 18
- length limit of file size parsing
- enum doca_apsh_system_os
-
Values
- DOCA_APSH_SYSTEM_LINUX = 0
- linux
- DOCA_APSH_SYSTEM_WINDOWS = 1
- windows
- enum doca_apsh_thread_attr
-
Values
- DOCA_APSH_THREAD_PID = 0
- thread process id
- DOCA_APSH_THREAD_TID = 1
- thread id
- DOCA_APSH_THREAD_STATE = 2
- thread state
- DOCA_APSH_THREAD_WINDOWS_WAIT_REASON = 1000
- thread wait reason
- DOCA_APSH_THREAD_WINDOWS_OFFSET = 1001
- thread offset
- DOCA_APSH_THREAD_WINDOWS_SUSPEND_COUNT = 1002
- thread suspend count
- DOCA_APSH_THREAD_LINUX_PROC_NAME = 2000
- thread process name
- DOCA_APSH_THREAD_LINUX_THREAD_NAME = 2001
- thread name
- enum doca_apsh_vad_attr
-
Values
- DOCA_APSH_VMA_PID = 0
- vma process id
- DOCA_APSH_VMA_OFFSET = 1
- vma offset
- DOCA_APSH_VMA_PROTECTION = 2
- vma protection
- DOCA_APSH_VMA_VM_START = 3
- vma vm start
- DOCA_APSH_VMA_VM_END = 4
- vma vm end
- DOCA_APSH_VMA_PROCESS_NAME = 5
- vma process name
- DOCA_APSH_VMA_FILE_PATH = 6
- vma file path
- DOCA_APSH_VMA_WINDOWS_COMMIT_CHARGE = 1000
- vma commit charge
- DOCA_APSH_VMA_WINDOWS_PRIVATE_MEMORY = 1001
- vma private memory
- DOCA_APSH_VMA_WINDOWS_TAG = 1002
- vma pool tag
- enum doca_apsh_yara_attr
-
Values
- DOCA_APSH_YARA_PID = 0
- pid of the process
- DOCA_APSH_YARA_COMM = 1
- name of the process
- DOCA_APSH_YARA_RULE = 2
- rule name
- DOCA_APSH_YARA_MATCH_WINDOW_ADDR = 3
- virtual address of the scan window of the match
- DOCA_APSH_YARA_MATCH_WINDOW_LEN = 4
- length of the scan window of the match
- enum doca_apsh_yara_rule
-
Values
- DOCA_APSH_YARA_RULE_HELLO_WORLD = 0
- yara rule that scans for "Hello World". Rule name is "Hello_World".
- DOCA_APSH_YARA_RULE_REFLECTIVE_DLL_INJECTION = 1
- yara rule that scans for Reflective Dll Injection attack. Rule name is "Reflective_Dll_Injection".
- DOCA_APSH_YARA_RULE_MIMIKATZ = 2
- yara rule that scans for Mimikatz process running on the system. Rule name is "Mimikatz".
- enum doca_apsh_yara_scan_type
-
Values
- DOCA_APSH_YARA_SCAN_VMA = 1
- scan all vma tree, override all others
- DOCA_APSH_YARA_SCAN_HEAP = 1<<1
- scan heap vads
Modules
-
DOCA Buffer
-
DOCA Buffer Array
-
DOCA Buffer Inventory
-
DOCA Buffer Pool
-
DOCA Clock
-
DOCA Context
-
DOCA DPDK Bridge
-
DOCA Device
-
DOCA Error
-
DOCA Graph
-
DOCA MMAP advise
-
DOCA Memory Map
-
DOCA Progress Engine
-
DOCA RDMA Bridge
-
DOCA Sync Event
-
DOCA Types
-
DOCA uar
-
DOCA umem
-
operations for DOCA Types
operations for DOCA Types
DOCA Buffer
DOCA Buffer Array
DOCA Buffer Inventory
DOCA Buffer Pool
DOCA Clock
DOCA Context
DOCA Device
DOCA DPDK Bridge
DOCA Error
DOCA Graph
DOCA Memory Map
DOCA MMAP advise
DOCA Progress Engine
DOCA RDMA Bridge
DOCA Sync Event
DOCA Types
DOCA uar
DOCA umem
2.4.1. operations for DOCA Types
[ DOCA Core ]
DOCA bitfield introduces bitfield operations on DOCA type that are common for many libraries.
2.4.2. DOCA Buffer
[ DOCA Core ]
The DOCA Buffer is used for reference data. It holds the information on a memory region that belongs to a DOCA memory map, and its descriptor is allocated from DOCA Buffer Inventory. DOCA Buffer is a thread-unsafe object.
2.4.3. DOCA Buffer Array
[ DOCA Core ]
The DOCA buffer array represents an array of fixed size doca_bufs (for multiple doca_dev). Can act as a free list or direct access mode.
2.4.4. DOCA Buffer Inventory
[ DOCA Core ]
The DOCA buffer inventory manages a pool of doca_buf objects. Each buffer obtained from an inventory is a descriptor that points to a memory region from a doca_mmap memory range of the user's choice.
2.4.5. DOCA Buffer Pool
[ DOCA Core ]
The DOCA Buffer Pool is a pool of doca_buf objects, such that each doca_buf is set with a permanent, fixed size memory buffer, right from creation and till destruction, which allows immediate allocation of doca_buf objects.
Basic structure example of a Buffer Pool (after creation):
+------------------------------------------+
| memory range |
+-----------+ | +--------+ +--------+ +--------+ |
| doca_mmap |-----------| | buffer | | buffer | | buffer | |
+-----------+ | +--------+ +--------+ ..... +--------+ |
| \ \ \ |
+------------------------------------------+
\ \ \
\ \ \
+--------------------------------------------+
| | | | |
+---------------+ | +----------+ +----------+ +----------+ |
| doca_buf_pool |-------| | doca_buf | | doca_buf | | doca_buf | |
+---------------+ | +----------+ +----------+ ....+----------+ |
+--------------------------------------------+
2.4.6. DOCA Clock
[ DOCA Core ]
The DOCA Clock is used for exposing low-level timestamp-related functionality including reading timestamps and cross-timestamping.
2.4.7. DOCA Context
[ DOCA Core ]
DOCA CTX is the base class of every data-path library in DOCA. It is a specific library/SDK instance object providing abstract data processing functionality. The library exposes events and/or tasks that manipulate data.
2.4.8. DOCA Device
[ DOCA Core ]
The DOCA device represents an available processing unit backed by the HW or SW implementation.
2.4.9. DOCA DPDK Bridge
[ DOCA Core ]
DOCA API for integration with DPDK.
2.4.10. DOCA Error
[ DOCA Core ]
DOCA Error provides information regarding different errors caused while using the DOCA libraries.
2.4.11. DOCA Graph
[ DOCA Core ]
DOCA graph facilitates submitting an ordered set of tasks and user callbacks. A graph can contain nodes of the following types:
-
Context node: A node that points to a context and contains a doca_task for that context. -- A graph must contain at least one context node.
-
User node: A node that points to a callback supplied by the user and contains a user defined doca_task.
-
Graph node: A node that points to a graph instance and facilitates building a graph of graphs.
Graph Instance A graph creates a graph instance (or more) Every node in the graph instance is set with corresponding data (task, callback, etc. depending on the type of the node). Node data can be set during runtime, but it is not recommended. Application should instead change the task content.
Usage:
-
Create a graph by adding nodes and setting dependencies. -- Cyclic graph is not permitted.
-
Create graph instance (or more).
-
Set nodes data to every graph instance.
-
Submit graph instances
-
Call progress one when applicable.
Notes
-
Any node failure shall fail the graph progress. However, the graph progress shall complete only when all in flight nodes are completed (new nodes shall not be submitted).
-
A graph instance shall not fail if a context is overloaded (it will continue running once the context is free).
Graph example (diamond graph):
+-------------+
| Node A |
+-------------+
|
+---------------+---------------+
| |
+-------------+ +-------------+
| Node B | | Node C |
+-------------+ +-------------+
| |
+---------------+---------------+
|
+-------------+
| Node D |
+-------------+
Graph implementation example: This example builds a graph with 2 nodes, creates an instance and submits it to a progress engine. node1 -> node2 The example is focused on the graph API. It does not include progress engine, contexts creation etc. or error handling.
Create the graph and connect it to a progress engine. struct doca_graph *my_graph; doca_graph_create(pe, &my_graph); doca_graph_set_conf(my_graph, graph_completion_cb, graph_error_cb, log_num_instances);
Create the nodes struct doca_graph_node *node1, node2; doca_graph_node_create_from_ctx(my_graph, ctx1, &node1); doca_graph_node_create_from_ctx(my_graph, ctx2, &node2);
Set dependency (node1 -> node2) doca_graph_add_dependency(my_graph, node1, node2);
Start the graph doca_graph_start(my_graph);
Create a graph instance and set nodes data struct doca_graph_instance *my_graph_instance doca_graph_instance_create(my_graph, &my_graph_instance); doca_graph_instance_set_ctx_node_data(my_graph_instance, node1, &node_1_task); doca_graph_instance_set_ctx_node_data(my_graph_instance, node2, &node_2_task);
Submit the graph instance to the progress engine doca_graph_instance_submit(my_graph_instance);
Call progress one to tick the progress engine until graph is completed (graph instance completed callback will be invoked). doca_pe_progress(pe);
Resubmit instance Set tasks parameters if required. doca_graph_instance_submit(my_graph_instance);
2.4.12. DOCA Memory Map
[ DOCA Core ]
The DOCA memory map provides a centralized repository and orchestration of several memory ranges registration for each device attached to the memory map.
2.4.13. DOCA MMAP advise
[ DOCA Core ]
DOCA MMAP advise DOCA MMAP advise is a context that facilitates invalidating cache.
2.4.14. DOCA Progress Engine
[ DOCA Core ]
2.4.15. DOCA RDMA Bridge
[ DOCA Core ]
DOCA RDMA bridge.
2.4.16. DOCA Sync Event
[ DOCA Core ]
DOCA Sync Event DOCA Sync Event is a software synchronization mechanism of parallel execution across the CPU, DPU, DPA, GPU and a remote node. It is an abstraction around 64-bit value which can be updated, read, and waited upon from any of these units to achieve synchronization between executions on them.
2.4.17. DOCA Types
[ DOCA Core ]
DOCA Types introduces types that are common for many libraries.
Defines
- #define doca_event_invalid_handle -1
Typedefs
- typedef int doca_event_handle_t
Defines
Typedefs
- typedef int doca_event_handle_t
'fd' for blocking with epoll/select/poll, event type will be "read ready"
2.4.18. DOCA uar
[ DOCA Core ]
The DOCA UAR represents a user mapped memory
2.4.19. DOCA umem
[ DOCA Core ]
The DOCA UMEM represents a user mapped memory
2.4.1. operations for DOCA Types
[ DOCA Core ]
DOCA bitfield introduces bitfield operations on DOCA type that are common for many libraries.
2.4.2. DOCA Buffer
[ DOCA Core ]
The DOCA Buffer is used for reference data. It holds the information on a memory region that belongs to a DOCA memory map, and its descriptor is allocated from DOCA Buffer Inventory. DOCA Buffer is a thread-unsafe object.
2.4.3. DOCA Buffer Array
[ DOCA Core ]
The DOCA buffer array represents an array of fixed size doca_bufs (for multiple doca_dev). Can act as a free list or direct access mode.
2.4.4. DOCA Buffer Inventory
[ DOCA Core ]
The DOCA buffer inventory manages a pool of doca_buf objects. Each buffer obtained from an inventory is a descriptor that points to a memory region from a doca_mmap memory range of the user's choice.
2.4.5. DOCA Buffer Pool
[ DOCA Core ]
The DOCA Buffer Pool is a pool of doca_buf objects, such that each doca_buf is set with a permanent, fixed size memory buffer, right from creation and till destruction, which allows immediate allocation of doca_buf objects.
Basic structure example of a Buffer Pool (after creation):
+------------------------------------------+
| memory range |
+-----------+ | +--------+ +--------+ +--------+ |
| doca_mmap |-----------| | buffer | | buffer | | buffer | |
+-----------+ | +--------+ +--------+ ..... +--------+ |
| \ \ \ |
+------------------------------------------+
\ \ \
\ \ \
+--------------------------------------------+
| | | | |
+---------------+ | +----------+ +----------+ +----------+ |
| doca_buf_pool |-------| | doca_buf | | doca_buf | | doca_buf | |
+---------------+ | +----------+ +----------+ ....+----------+ |
+--------------------------------------------+
2.4.6. DOCA Clock
[ DOCA Core ]
The DOCA Clock is used for exposing low-level timestamp-related functionality including reading timestamps and cross-timestamping.
2.4.7. DOCA Context
[ DOCA Core ]
DOCA CTX is the base class of every data-path library in DOCA. It is a specific library/SDK instance object providing abstract data processing functionality. The library exposes events and/or tasks that manipulate data.
2.4.8. DOCA Device
[ DOCA Core ]
The DOCA device represents an available processing unit backed by the HW or SW implementation.
2.4.10. DOCA Error
[ DOCA Core ]
DOCA Error provides information regarding different errors caused while using the DOCA libraries.
2.4.11. DOCA Graph
[ DOCA Core ]
DOCA graph facilitates submitting an ordered set of tasks and user callbacks. A graph can contain nodes of the following types:
-
Context node: A node that points to a context and contains a doca_task for that context. -- A graph must contain at least one context node.
-
User node: A node that points to a callback supplied by the user and contains a user defined doca_task.
-
Graph node: A node that points to a graph instance and facilitates building a graph of graphs.
Graph Instance A graph creates a graph instance (or more) Every node in the graph instance is set with corresponding data (task, callback, etc. depending on the type of the node). Node data can be set during runtime, but it is not recommended. Application should instead change the task content.
Usage:
-
Create a graph by adding nodes and setting dependencies. -- Cyclic graph is not permitted.
-
Create graph instance (or more).
-
Set nodes data to every graph instance.
-
Submit graph instances
-
Call progress one when applicable.
Notes
-
Any node failure shall fail the graph progress. However, the graph progress shall complete only when all in flight nodes are completed (new nodes shall not be submitted).
-
A graph instance shall not fail if a context is overloaded (it will continue running once the context is free).
Graph example (diamond graph):
+-------------+
| Node A |
+-------------+
|
+---------------+---------------+
| |
+-------------+ +-------------+
| Node B | | Node C |
+-------------+ +-------------+
| |
+---------------+---------------+
|
+-------------+
| Node D |
+-------------+
Graph implementation example: This example builds a graph with 2 nodes, creates an instance and submits it to a progress engine. node1 -> node2 The example is focused on the graph API. It does not include progress engine, contexts creation etc. or error handling.
Create the graph and connect it to a progress engine. struct doca_graph *my_graph; doca_graph_create(pe, &my_graph); doca_graph_set_conf(my_graph, graph_completion_cb, graph_error_cb, log_num_instances);
Create the nodes struct doca_graph_node *node1, node2; doca_graph_node_create_from_ctx(my_graph, ctx1, &node1); doca_graph_node_create_from_ctx(my_graph, ctx2, &node2);
Set dependency (node1 -> node2) doca_graph_add_dependency(my_graph, node1, node2);
Start the graph doca_graph_start(my_graph);
Create a graph instance and set nodes data struct doca_graph_instance *my_graph_instance doca_graph_instance_create(my_graph, &my_graph_instance); doca_graph_instance_set_ctx_node_data(my_graph_instance, node1, &node_1_task); doca_graph_instance_set_ctx_node_data(my_graph_instance, node2, &node_2_task);
Submit the graph instance to the progress engine doca_graph_instance_submit(my_graph_instance);
Call progress one to tick the progress engine until graph is completed (graph instance completed callback will be invoked). doca_pe_progress(pe);
Resubmit instance Set tasks parameters if required. doca_graph_instance_submit(my_graph_instance);
2.4.12. DOCA Memory Map
[ DOCA Core ]
The DOCA memory map provides a centralized repository and orchestration of several memory ranges registration for each device attached to the memory map.
2.4.13. DOCA MMAP advise
[ DOCA Core ]
DOCA MMAP advise DOCA MMAP advise is a context that facilitates invalidating cache.
2.4.16. DOCA Sync Event
[ DOCA Core ]
DOCA Sync Event DOCA Sync Event is a software synchronization mechanism of parallel execution across the CPU, DPU, DPA, GPU and a remote node. It is an abstraction around 64-bit value which can be updated, read, and waited upon from any of these units to achieve synchronization between executions on them.
2.4.17. DOCA Types
[ DOCA Core ]
DOCA Types introduces types that are common for many libraries.
Defines
- #define doca_event_invalid_handle -1
Typedefs
- typedef int doca_event_handle_t
Defines
Typedefs
- typedef int doca_event_handle_t
'fd' for blocking with epoll/select/poll, event type will be "read ready"
DOCA Communication Channel library let you set a direct communication channel between the host and the DPU. The channel is run over RoCE/IB protocol and is not part of the TCP/IP stack. Please follow the programmer guide for usage instructions.
Modules
DOCA Comch Consumer
DOCA Comch MsgQ
DOCA Comch Producer
2.5.1. DOCA Comch Consumer
[ DOCA Comch ]
DOCA Communication Channel Consumer offers an extension the doca_comch channel for accelerated data transfer between memory on the host and DPU in a FIFO format. An established doca_comch connection is required to negotiate the end points of the FIFO. A consumer object can then post buffers to a remote process that it wishes to receive data on. Completion of a consumer post receive message indicates that data has been populated from a remote producer. The inter-process communication runs over DMA/PCIe and does not affect network bandwidth.
2.5.2. DOCA Comch MsgQ
[ DOCA Comch ]
DOCA Communication Channel MsgQ library lets you set a direct communication channel between Host/DPU and DPA. The channel is not part of the TCP/IP stack. Please follow the programmer guide for usage instructions.
2.5.3. DOCA Comch Producer
[ DOCA Comch ]
DOCA Communication Channel Producer offers an extension the doca_comch channel for accelerated data transfer between memory on the host and DPU in a FIFO format. An established doca_comch connection is required to negotiate the end points of the FIFO. A producer object can populate buffers advertised by any consumers associated with the same doca_comch connection. The inter-process communication runs over DMA/PCIe and does not affect network bandwidth.
2.5.1. DOCA Comch Consumer
[ DOCA Comch ]
DOCA Communication Channel Consumer offers an extension the doca_comch channel for accelerated data transfer between memory on the host and DPU in a FIFO format. An established doca_comch connection is required to negotiate the end points of the FIFO. A consumer object can then post buffers to a remote process that it wishes to receive data on. Completion of a consumer post receive message indicates that data has been populated from a remote producer. The inter-process communication runs over DMA/PCIe and does not affect network bandwidth.
2.5.2. DOCA Comch MsgQ
[ DOCA Comch ]
DOCA Communication Channel MsgQ library lets you set a direct communication channel between Host/DPU and DPA. The channel is not part of the TCP/IP stack. Please follow the programmer guide for usage instructions.
2.5.3. DOCA Comch Producer
[ DOCA Comch ]
DOCA Communication Channel Producer offers an extension the doca_comch channel for accelerated data transfer between memory on the host and DPU in a FIFO format. An established doca_comch connection is required to negotiate the end points of the FIFO. A producer object can populate buffers advertised by any consumers associated with the same doca_comch connection. The inter-process communication runs over DMA/PCIe and does not affect network bandwidth.
Lib to define compatibility with current version, define experimental Symbols.
To set a Symbol (or specifically a function) as experimental:
DOCA_EXPERIMENTAL int func_declare(int param1, int param2);
To remove warnings of experimental compile with "-D DOCA_ALLOW_EXPERIMENTAL_API" To remove warnings of deprecated compile with "-D DOCA_ALLOW_DEPRECATED_API"
Defines
- #define DOCA_COMPAT_HELPERS
- declares the support/need for compatibility helper utils
Defines
Modules
-
DOCA Device Emulation - PCI Devices
-
DOCA Device Emulation - Virtio Devices
-
DOCA Device Emulation - Virtio FS Devices
DOCA Device Emulation - PCI Devices
DOCA Device Emulation - Virtio FS Devices
DOCA Device Emulation - Virtio Devices
2.9.1. DOCA Device Emulation - PCI Devices
[ DOCA Device Emulation ]
DOCA library for emulated PCI devices
Modules
DOCA Device Emulation - PCI Device Types
2.9.1.1. DOCA Device Emulation - PCI Device Types
[ DOCA Device Emulation - PCI Devices ]
DOCA PCI type for emulated pci devices
2.9.2. DOCA Device Emulation - Virtio FS Devices
[ DOCA Device Emulation ]
DOCA library for emulated virtio FS devices
Modules
-
DOCA Device Emulation - Virtio FS Device Types
-
DOCA Device Emulation - Virtio FS Devices
-
DOCA Device Emulation - Virtio FS IO Context
DOCA Device Emulation - Virtio FS Devices
DOCA Device Emulation - Virtio FS IO Context
DOCA Device Emulation - Virtio FS Device Types
2.9.2.1. DOCA Device Emulation - Virtio FS Devices
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS device
2.9.2.2. DOCA Device Emulation - Virtio FS IO Context
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS IO context
2.9.2.3. DOCA Device Emulation - Virtio FS Device Types
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS type
2.9.3. DOCA Device Emulation - Virtio Devices
[ DOCA Device Emulation ]
DOCA library for emulated virtio devices logic
Modules
DOCA Device Emulation - Virtio IO Context
DOCA Device Emulation - Virtio Device Types
2.9.3.1. DOCA Device Emulation - Virtio IO Context
[ DOCA Device Emulation - Virtio Devices ]
DOCA VIRTIO IO context
2.9.3.2. DOCA Device Emulation - Virtio Device Types
[ DOCA Device Emulation - Virtio Devices ]
DOCA Virtio type
2.9.1. DOCA Device Emulation - PCI Devices
[ DOCA Device Emulation ]
DOCA library for emulated PCI devices
Modules
DOCA Device Emulation - PCI Device Types
2.9.1.1. DOCA Device Emulation - PCI Device Types
[ DOCA Device Emulation - PCI Devices ]
DOCA PCI type for emulated pci devices
2.9.1.1. DOCA Device Emulation - PCI Device Types
[ DOCA Device Emulation - PCI Devices ]
DOCA PCI type for emulated pci devices
2.9.2. DOCA Device Emulation - Virtio FS Devices
[ DOCA Device Emulation ]
DOCA library for emulated virtio FS devices
Modules
-
DOCA Device Emulation - Virtio FS Device Types
-
DOCA Device Emulation - Virtio FS Devices
-
DOCA Device Emulation - Virtio FS IO Context
DOCA Device Emulation - Virtio FS Devices
DOCA Device Emulation - Virtio FS IO Context
DOCA Device Emulation - Virtio FS Device Types
2.9.2.1. DOCA Device Emulation - Virtio FS Devices
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS device
2.9.2.2. DOCA Device Emulation - Virtio FS IO Context
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS IO context
2.9.2.3. DOCA Device Emulation - Virtio FS Device Types
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS type
2.9.2.1. DOCA Device Emulation - Virtio FS Devices
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS device
2.9.2.2. DOCA Device Emulation - Virtio FS IO Context
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS IO context
2.9.2.3. DOCA Device Emulation - Virtio FS Device Types
[ DOCA Device Emulation - Virtio FS Devices ]
DOCA Virtio FS type
2.9.3. DOCA Device Emulation - Virtio Devices
[ DOCA Device Emulation ]
DOCA library for emulated virtio devices logic
Modules
DOCA Device Emulation - Virtio IO Context
DOCA Device Emulation - Virtio Device Types
2.9.3.1. DOCA Device Emulation - Virtio IO Context
[ DOCA Device Emulation - Virtio Devices ]
DOCA VIRTIO IO context
2.9.3.2. DOCA Device Emulation - Virtio Device Types
[ DOCA Device Emulation - Virtio Devices ]
DOCA Virtio type
2.9.3.1. DOCA Device Emulation - Virtio IO Context
[ DOCA Device Emulation - Virtio Devices ]
DOCA VIRTIO IO context
2.9.3.2. DOCA Device Emulation - Virtio Device Types
[ DOCA Device Emulation - Virtio Devices ]
DOCA Virtio type
Modules
DOCA DPA Host
DOCA DPA Device
2.11.1. DOCA DPA Host
[ DOCA DPA ]
DOCA DPA Host library. For more details please refer to the user guide on DOCA devzone.
2.11.2. DOCA DPA Device
[ DOCA DPA ]
DOCA DPA Device library. For more details please refer to the user guide on DOCA devzone.
Modules
-
DOCA DPA Device - Buffer
-
DOCA DPA Device - Comch MsgQ
-
DOCA DPA Device - Device Emulation for PCI devices
-
DOCA DPA Device - RDMA
-
DOCA DPA Device - Sync Event
-
DOCA DPA Device - Verbs
- DOCA DPA Device Verbs library provides RDMA operations support for DPA applications.
- DOCA DPA Device Verbs library provides RDMA operations support for DPA applications.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
DOCA DPA Device - Buffer
DOCA DPA Device - Comch MsgQ
DOCA DPA Device - Device Emulation for PCI devices
DOCA DPA Device - RDMA
DOCA DPA Device - Sync Event
DOCA DPA Device - Verbs
2.11.2.1. DOCA DPA Device - Buffer
[ DOCA DPA Device ]
DOCA DPA Device - Buffer
2.11.2.2. DOCA DPA Device - Comch MsgQ
[ DOCA DPA Device ]
DOCA DPA Device - Comch MsgQ
2.11.2.3. DOCA DPA Device - Device Emulation for PCI devices
[ DOCA DPA Device ]
DOCA DPA Device - Device Emulation for PCI devices
2.11.2.4. DOCA DPA Device - RDMA
[ DOCA DPA Device ]
DOCA DPA Device - RDMA
2.11.2.5. DOCA DPA Device - Sync Event
[ DOCA DPA Device ]
DOCA DPA Device - Sync Event
2.11.2.6. DOCA DPA Device - Verbs
[ DOCA DPA Device ]
This library enables RDMA operations (Send, Receive, Read, Write, Atomic) in DPA applications using a verbs-like interface. It provides functionality for posting work requests, managing scatter-gather elements, and handling RDMA operations.
2.11.1. DOCA DPA Host
[ DOCA DPA ]
DOCA DPA Host library. For more details please refer to the user guide on DOCA devzone.
2.11.2. DOCA DPA Device
[ DOCA DPA ]
DOCA DPA Device library. For more details please refer to the user guide on DOCA devzone.
Modules
-
DOCA DPA Device - Buffer
-
DOCA DPA Device - Comch MsgQ
-
DOCA DPA Device - Device Emulation for PCI devices
-
DOCA DPA Device - RDMA
-
DOCA DPA Device - Sync Event
-
DOCA DPA Device - Verbs
- DOCA DPA Device Verbs library provides RDMA operations support for DPA applications.
- DOCA DPA Device Verbs library provides RDMA operations support for DPA applications.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
DOCA DPA Device - Buffer
DOCA DPA Device - Comch MsgQ
DOCA DPA Device - Device Emulation for PCI devices
DOCA DPA Device - RDMA
DOCA DPA Device - Sync Event
DOCA DPA Device - Verbs
2.11.2.1. DOCA DPA Device - Buffer
[ DOCA DPA Device ]
DOCA DPA Device - Buffer
2.11.2.2. DOCA DPA Device - Comch MsgQ
[ DOCA DPA Device ]
DOCA DPA Device - Comch MsgQ
2.11.2.3. DOCA DPA Device - Device Emulation for PCI devices
[ DOCA DPA Device ]
DOCA DPA Device - Device Emulation for PCI devices
2.11.2.4. DOCA DPA Device - RDMA
[ DOCA DPA Device ]
DOCA DPA Device - RDMA
2.11.2.5. DOCA DPA Device - Sync Event
[ DOCA DPA Device ]
DOCA DPA Device - Sync Event
2.11.2.6. DOCA DPA Device - Verbs
[ DOCA DPA Device ]
This library enables RDMA operations (Send, Receive, Read, Write, Atomic) in DPA applications using a verbs-like interface. It provides functionality for posting work requests, managing scatter-gather elements, and handling RDMA operations.
2.11.2.3. DOCA DPA Device - Device Emulation for PCI devices
[ DOCA DPA Device ]
DOCA DPA Device - Device Emulation for PCI devices
2.11.2.6. DOCA DPA Device - Verbs
[ DOCA DPA Device ]
This library enables RDMA operations (Send, Receive, Read, Write, Atomic) in DPA applications using a verbs-like interface. It provides functionality for posting work requests, managing scatter-gather elements, and handling RDMA operations.
There are 2 data path options to use DOCA ETH RXQ context, a GPU managed control path and a CPU managed one. Other than the need to use doca_ctx_set_datapath_on_gpu() on a GPU context before starting it, both cases share the same control path functions (unless mentioned otherwise in the function documentation). The data path functions are different for the different options. The GPU managed data path functions are not included in the DOCA ETH RXQ API (check DOCA GPUNetIO).
Modules
DOCA ETH RXQ
DOCA ETH TXQ
2.13.1. DOCA ETH RXQ
[ DOCA ETH ]
Modules
DOCA ETH RXQ CPU Data Path
DOCA ETH RXQ GPU Data Path
2.13.1.1. DOCA ETH RXQ CPU Data Path
[ DOCA ETH RXQ ]
DOCA ETH RXQ library.
2.13.1.2. DOCA ETH RXQ GPU Data Path
[ DOCA ETH RXQ ]
DOCA ETH RXQ library.
2.13.2. DOCA ETH TXQ
[ DOCA ETH ]
DOCA ETH TXQ library.
There are 2 data path options to use DOCA ETH TXQ context, a GPU managed control path and a CPU managed one. Other than the need to use doca_ctx_set_datapath_on_gpu() on a GPU context before starting it, both cases share the same control path functions (unless mentioned otherwise in the function documentation). The data path functions are different for the different options. The GPU managed data path functions are not included in the DOCA ETH TXQ API (check DOCA GPUNetIO).
Modules
DOCA ETH TXQ CPU Data Path
DOCA ETH TXQ GPU Data Path
2.13.2.1. DOCA ETH TXQ CPU Data Path
[ DOCA ETH TXQ ]
DOCA ETH TXQ library.
2.13.2.2. DOCA ETH TXQ GPU Data Path
[ DOCA ETH TXQ ]
DOCA ETH TXQ library.
2.13.1. DOCA ETH RXQ
[ DOCA ETH ]
Modules
DOCA ETH RXQ CPU Data Path
DOCA ETH RXQ GPU Data Path
2.13.1.1. DOCA ETH RXQ CPU Data Path
[ DOCA ETH RXQ ]
DOCA ETH RXQ library.
2.13.1.2. DOCA ETH RXQ GPU Data Path
[ DOCA ETH RXQ ]
DOCA ETH RXQ library.
2.13.2. DOCA ETH TXQ
[ DOCA ETH ]
DOCA ETH TXQ library.
There are 2 data path options to use DOCA ETH TXQ context, a GPU managed control path and a CPU managed one. Other than the need to use doca_ctx_set_datapath_on_gpu() on a GPU context before starting it, both cases share the same control path functions (unless mentioned otherwise in the function documentation). The data path functions are different for the different options. The GPU managed data path functions are not included in the DOCA ETH TXQ API (check DOCA GPUNetIO).
Modules
DOCA ETH TXQ CPU Data Path
DOCA ETH TXQ GPU Data Path
2.13.2.1. DOCA ETH TXQ CPU Data Path
[ DOCA ETH TXQ ]
DOCA ETH TXQ library.
2.13.2.2. DOCA ETH TXQ GPU Data Path
[ DOCA ETH TXQ ]
DOCA ETH TXQ library.
DOCA HW offload flow library. For more details please refer to the user guide on DOCA devzone.
Modules
Doca Flow Crypto
Doca Flow CT
Doca Flow Net
DOCA Flow Tune Server
2.14.1. Doca Flow Crypto
[ DOCA Flow ]
DOCA HW offload flow cryptonet structure define. For more details please refer to the user guide on DOCA devzone.
2.14.2. Doca Flow CT
[ DOCA Flow ]
DOCA HW connection tracking library.
2.14.3. Doca Flow Net
[ DOCA Flow ]
DOCA HW offload flow net structure define. For more details please refer to the user guide on DOCA devzone.
2.14.4. DOCA Flow Tune Server
[ DOCA Flow ]
2.14.1. Doca Flow Crypto
[ DOCA Flow ]
DOCA HW offload flow cryptonet structure define. For more details please refer to the user guide on DOCA devzone.
2.14.3. Doca Flow Net
[ DOCA Flow ]
DOCA HW offload flow net structure define. For more details please refer to the user guide on DOCA devzone.
Modules
-
DOCA GPUNetIO Device - Buffer
-
DOCA GPUNetIO Device - Definitions
-
DOCA GPUNetIO Device - Ethernet Common
-
DOCA GPUNetIO Device - Ethernet RXQ
-
DOCA GPUNetIO Device - Ethernet TXQ
-
DOCA GPUNetIO Device - RDMA
-
DOCA GPUNetIO Device - Semaphore
-
DOCA GPUNetIO Ethernet Device - Definitions
DOCA GPUNetIO Device - Buffer
DOCA GPUNetIO Device - Ethernet Common
DOCA GPUNetIO Device - Ethernet RXQ
DOCA GPUNetIO Device - Ethernet TXQ
DOCA GPUNetIO Device - RDMA
DOCA GPUNetIO Device - Semaphore
DOCA GPUNetIO Device - Definitions
DOCA GPUNetIO Ethernet Device - Definitions
2.15.1. DOCA GPUNetIO Device - Buffer
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.2. DOCA GPUNetIO Device - Ethernet Common
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.3. DOCA GPUNetIO Device - Ethernet RXQ
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.4. DOCA GPUNetIO Device - Ethernet TXQ
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.5. DOCA GPUNetIO Device - RDMA
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.6. DOCA GPUNetIO Device - Semaphore
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.7. DOCA GPUNetIO Device - Definitions
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_GPUNETIO_MLX5_WQE_RQ_SHIFT 4
- #define DOCA_GPUNETIO_MLX5_WQE_SQ_SHIFT 6
- #define DOCA_GPUNETIO_VERBS_ASSERT ( x ) assert(x)
- #define DOCA_GPUNETIO_VERBS_CQE_CI_MASK 0xFFFFFF
- #define DOCA_GPUNETIO_VERBS_ENABLE_DEBUG 1
- #define DOCA_GPUNETIO_VERBS_MKEY_SWAPPED 1
- #define DOCA_GPUNETIO_VERBS_PAGE_SIZE 65536
- #define DOCA_GPUNETIO_VERBS_WARP_FULL_MASK 0xffffffff
- #define DOCA_GPUNETIO_VERBS_WARP_SIZE 32
- #define DOCA_GPUNETIO_VERBS_WQE_PI_MASK 0xFFFF
- #define DOCA_GPUNETIO_VOLATILE ( x )
Defines
- #define DOCA_GPUNETIO_MLX5_WQE_RQ_SHIFT 4
RQ WQE Shift - 16B
- #define DOCA_GPUNETIO_MLX5_WQE_SQ_SHIFT 6
SQ WQE Shift - 64B
- #define DOCA_GPUNETIO_VERBS_ASSERT ( x ) assert(x)
Assert
- #define DOCA_GPUNETIO_VERBS_CQE_CI_MASK 0xFFFFFF
CQE Consumer Index Mask - 24bits counter
- #define DOCA_GPUNETIO_VERBS_ENABLE_DEBUG 1
Enable debug prints in this headerfile. Bad for performance, should be used only for debugging
- #define DOCA_GPUNETIO_VERBS_MKEY_SWAPPED 1
Set to 1 if mkeys passed to the wqe functions are already swapped by application. Otherwise set it to 0.
- #define DOCA_GPUNETIO_VERBS_PAGE_SIZE 65536
Default page size alignment on GPU
- #define DOCA_GPUNETIO_VERBS_WARP_FULL_MASK 0xffffffff
Default warp full mask value
- #define DOCA_GPUNETIO_VERBS_WARP_SIZE 32
Default warp size value of 32 threads
- #define DOCA_GPUNETIO_VERBS_WQE_PI_MASK 0xFFFF
WQE Producer Index Mask - 16bits counter
- #define DOCA_GPUNETIO_VOLATILE ( x )
Macro to temporarily cast a variable to volatile.
Value
(*(volatile typeof(x) *)&(x))
2.15.8. DOCA GPUNetIO Ethernet Device - Definitions
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.1. DOCA GPUNetIO Device - Buffer
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.2. DOCA GPUNetIO Device - Ethernet Common
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.3. DOCA GPUNetIO Device - Ethernet RXQ
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.4. DOCA GPUNetIO Device - Ethernet TXQ
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.5. DOCA GPUNetIO Device - RDMA
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.6. DOCA GPUNetIO Device - Semaphore
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
2.15.7. DOCA GPUNetIO Device - Definitions
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_GPUNETIO_MLX5_WQE_RQ_SHIFT 4
- #define DOCA_GPUNETIO_MLX5_WQE_SQ_SHIFT 6
- #define DOCA_GPUNETIO_VERBS_ASSERT ( x ) assert(x)
- #define DOCA_GPUNETIO_VERBS_CQE_CI_MASK 0xFFFFFF
- #define DOCA_GPUNETIO_VERBS_ENABLE_DEBUG 1
- #define DOCA_GPUNETIO_VERBS_MKEY_SWAPPED 1
- #define DOCA_GPUNETIO_VERBS_PAGE_SIZE 65536
- #define DOCA_GPUNETIO_VERBS_WARP_FULL_MASK 0xffffffff
- #define DOCA_GPUNETIO_VERBS_WARP_SIZE 32
- #define DOCA_GPUNETIO_VERBS_WQE_PI_MASK 0xFFFF
- #define DOCA_GPUNETIO_VOLATILE ( x )
Defines
- #define DOCA_GPUNETIO_MLX5_WQE_RQ_SHIFT 4
RQ WQE Shift - 16B
- #define DOCA_GPUNETIO_MLX5_WQE_SQ_SHIFT 6
SQ WQE Shift - 64B
- #define DOCA_GPUNETIO_VERBS_ASSERT ( x ) assert(x)
Assert
- #define DOCA_GPUNETIO_VERBS_CQE_CI_MASK 0xFFFFFF
CQE Consumer Index Mask - 24bits counter
- #define DOCA_GPUNETIO_VERBS_ENABLE_DEBUG 1
Enable debug prints in this headerfile. Bad for performance, should be used only for debugging
- #define DOCA_GPUNETIO_VERBS_MKEY_SWAPPED 1
Set to 1 if mkeys passed to the wqe functions are already swapped by application. Otherwise set it to 0.
- #define DOCA_GPUNETIO_VERBS_PAGE_SIZE 65536
Default page size alignment on GPU
- #define DOCA_GPUNETIO_VERBS_WARP_FULL_MASK 0xffffffff
Default warp full mask value
- #define DOCA_GPUNETIO_VERBS_WARP_SIZE 32
Default warp size value of 32 threads
- #define DOCA_GPUNETIO_VERBS_WQE_PI_MASK 0xFFFF
WQE Producer Index Mask - 16bits counter
- #define DOCA_GPUNETIO_VOLATILE ( x )
Macro to temporarily cast a variable to volatile.
Value
(*(volatile typeof(x) *)&(x))
2.15.8. DOCA GPUNetIO Ethernet Device - Definitions
[ DOCA GPUNetIO Engine ]
DOCA GPUNetio device library header to be included in CUDA .cu files. All functions listed here must be called from a GPU CUDA kernel, they won't work from CPU. All functions listed here should be considered as experimental. For more details please refer to the user guide on DOCA devzone.
Modules
DOCA PCC Host
DOCA PCC Device
2.21.1. DOCA PCC Host
[ DOCA PCC ]
DOCA PCC Host library. For more details please refer to the user guide on DOCA devzone.
2.21.2. DOCA PCC Device
[ DOCA PCC ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Modules
-
DOCA PCC Device Algorithm Access
-
DOCA PCC Device Common
-
DOCA PCC Device Event
-
DOCA PCC Device Notification Point
-
DOCA PCC Device Services
-
DOCA PCC Device Utilities
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
DOCA PCC Device Algorithm Access
DOCA PCC Device Common
DOCA PCC Device Event
DOCA PCC Device Services
DOCA PCC Device Utilities
DOCA PCC Device Notification Point
2.21.2.1. DOCA PCC Device Algorithm Access
[ DOCA PCC Device ]
2.21.2.2. DOCA PCC Device Common
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.3. DOCA PCC Device Event
[ DOCA PCC Device ]
2.21.2.4. DOCA PCC Device Services
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.5. DOCA PCC Device Utilities
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.6. DOCA PCC Device Notification Point
[ DOCA PCC Device ]
DOCA PCC NP Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.1. DOCA PCC Host
[ DOCA PCC ]
DOCA PCC Host library. For more details please refer to the user guide on DOCA devzone.
2.21.2. DOCA PCC Device
[ DOCA PCC ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Modules
-
DOCA PCC Device Algorithm Access
-
DOCA PCC Device Common
-
DOCA PCC Device Event
-
DOCA PCC Device Notification Point
-
DOCA PCC Device Services
-
DOCA PCC Device Utilities
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
DOCA PCC Device Algorithm Access
DOCA PCC Device Common
DOCA PCC Device Event
DOCA PCC Device Services
DOCA PCC Device Utilities
DOCA PCC Device Notification Point
2.21.2.1. DOCA PCC Device Algorithm Access
[ DOCA PCC Device ]
2.21.2.2. DOCA PCC Device Common
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.3. DOCA PCC Device Event
[ DOCA PCC Device ]
2.21.2.4. DOCA PCC Device Services
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.5. DOCA PCC Device Utilities
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.6. DOCA PCC Device Notification Point
[ DOCA PCC Device ]
DOCA PCC NP Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.2. DOCA PCC Device Common
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.4. DOCA PCC Device Services
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.5. DOCA PCC Device Utilities
[ DOCA PCC Device ]
DOCA PCC Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
2.21.2.6. DOCA PCC Device Notification Point
[ DOCA PCC Device ]
DOCA PCC NP Device library. For more details please refer to the user guide on DOCA devzone.
Defines
- #define DOCA_DPA_DEVICE
- declares that we are compiling for the DPA Device
Defines
DOCA lib for exporting events to the telemetry service.
Modules
DOCA Telemetry NetFlow
2.28.1. DOCA Telemetry NetFlow
[ DOCA Telemetry Exporter ]
DOCA lib for exporting a netflow packet to a netflow collector through the telemetry service.
This lib simplifies and centralizes the formatting and exporting of netflow packets. Netflow is a protocol for exporting information about the device network flows to a netflow collector that will aggregate and analyze the data. After creating conf file and invoke init function, the lib send function can be called with netflow struct to send a netflow packet with the format to the collector of choice specified in the conf file. The lib uses the netflow protocol specified by cisco.
See also:
https://netflow.caligare.com/netflow_v9.htm
Limitations:
The lib supports the netflow V9 format. The lib is not thread safe.
2.28.1. DOCA Telemetry NetFlow
[ DOCA Telemetry Exporter ]
DOCA lib for exporting a netflow packet to a netflow collector through the telemetry service.
This lib simplifies and centralizes the formatting and exporting of netflow packets. Netflow is a protocol for exporting information about the device network flows to a netflow collector that will aggregate and analyze the data. After creating conf file and invoke init function, the lib send function can be called with netflow struct to send a netflow packet with the format to the collector of choice specified in the conf file. The lib uses the netflow protocol specified by cisco.
See also:
https://netflow.caligare.com/netflow_v9.htm
Limitations:
The lib supports the netflow V9 format. The lib is not thread safe.
DOCA Unified Resource and Offload Manager (UROM) offers a framework for offloading a portion of parallel computing tasks, such as those related to HPC or AI workloads and frameworks, from the host to the NVIDIA DPUs. Please follow the programmer guide for usage instructions.
Modules
DOCA UROM Plugins
2.31.1. DOCA UROM Plugins
[ DOCA UROM (Unified Resource and Offload Manager) ]
DOCA UROM Worker Plugin interfaces and data structures.
2.31.1. DOCA UROM Plugins
[ DOCA UROM (Unified Resource and Offload Manager) ]
DOCA UROM Worker Plugin interfaces and data structures.