API References for DOCA 3.2.0

2. Modules

Here is a list of all modules:

DOCA AES-GCM library. For more details please refer to the user guide on DOCA devzone.

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
 

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

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

DOCA Arg Parser library. For more details please refer to the user guide on DOCA DevZone.


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.

Copy
Copied!
            

‎ 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).

Copy
Copied!
            

‎ 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
#define doca_event_invalid_handle -1

Represents invalid handle value

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

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.

Copy
Copied!
            

‎ 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).

Copy
Copied!
            

‎ 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
#define doca_event_invalid_handle -1

Represents invalid handle value

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

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
 

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.

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.

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"

DOCA COMPRESS library. For more details please refer to the user guide on DOCA devzone.


Defines

#define DOCA_COMPAT_HELPERS
declares the support/need for compatibility helper utils

Defines

#define DOCA_COMPAT_HELPERS


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
 

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 Device Types
 
 DOCA Device Emulation - Virtio IO Context
 

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

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
 

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

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

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 Device Types
 
 DOCA Device Emulation - Virtio IO Context
 

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

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

DOCA DMA library. For more details please refer to the user guide on DOCA devzone.


Modules

 DOCA DPA Device
 
 DOCA DPA Host
 

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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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.

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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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.

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.

DOCA Erasure Coding library. For more details please refer to the user guide on DOCA devzone.

DOCA ETH RXQ library.

Note:

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
 

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
 

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.

Note:

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
 

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 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
 

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.

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.

Note:

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
 

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 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 Tune Server
 
 Doca Flow CT
 
 Doca Flow Crypto
 
 Doca Flow Net
 

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 ]

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 ]

DOCA GPUNetIO library.

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.

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.

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.

Define functions for internal and external logging management

To add DOCA trace level compile with "-D DOCA_LOGGING_ALLOW_TRACE"

DOCA Management library. For more details please refer to the user guide on DOCA devzone.

DOCA Management - Congestion Control Global Status

DOCA Management - Device Capabilities General


Modules

 DOCA PCC Device
 
 DOCA PCC Host
 

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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


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
#define DOCA_DPA_DEVICE
Note:

Must be defined before the first API use/include of DOCA


DOCA RDMA library. For more details please refer to the user guide on DOCA devzone.

DOCA RMAX library. For more details please refer to the user guide on DOCA devzone.

DOCA SHA library. For more details please refer to the user guide on DOCA devzone.

DOCA Telemetry Adaptive Retransmission library. For more details please refer to the user guide on DOCA devzone.

DOCA Telemetry Diagnostics library. For more details please refer to the user guide on DOCA devzone.

DOCA telemetry DPA library. For more details please refer to the user guide on DOCA devzone.

DOCA lib for exporting events to the telemetry service.

Modules

 DOCA Telemetry NetFlow
 

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.

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.

DOCA Telemetry Programmable Congestion Control library. For more details please refer to the user guide on DOCA devzone.

DOCA Telemetry PCI library. For more details please refer to the user guide on DOCA devzone.

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
 

DOCA UROM Plugins

2.31.1. DOCA UROM Plugins

[ DOCA UROM (Unified Resource and Offload Manager) ]

DOCA UROM Worker Plugin interfaces and data structures.

DOCA UROM Plugins

2.31.1. DOCA UROM Plugins

[ DOCA UROM (Unified Resource and Offload Manager) ]

DOCA UROM Worker Plugin interfaces and data structures.

Define functions to get the DOCA version, and compare against it.

© Copyright 2025, NVIDIA. Last updated on Nov 3, 2025