PTI View API Reference

Contents

PTI View API Reference#

Warning

DRAFT DOCUMENTATION - This documentation is currently in draft status and subject to change.

This section provides API documentation for the PTI View API (tracing and profiling).

Note

This page documents the PTI View API for tracing GPU activities. For hardware metrics collection, see PTI Metrics Scope API Reference and PTI Metrics API Reference.

Overview#

The PTI View API provides tracing capabilities for GPU operations. The API includes:

  • Core Functions - Enable/disable tracing, set callbacks, manage views

  • Helper Functions - Utility functions for string conversion

  • Structures - Data structures for profiling records

  • Enumerators - View types, result codes, memory types

  • Function Pointers - Callback function signatures

Core Functions#

Helper Functions#

Structures#

Record structures contain profiling data passed to callbacks:

Enumerators#

Function Pointer Typedefs#

Callback function signatures:


Detailed API Documentation#

Core Functions#

pti_result ptiViewSetCallbacks(pti_fptr_buffer_requested fptr_bufferRequested, pti_fptr_buffer_completed fptr_bufferCompleted)#

Sets callback to user buffer management functions implemented by a user.

Parameters:
  • fptr_bufferRequested

  • fptr_bufferCompleted

Returns:

pti_result

pti_result ptiViewEnable(pti_view_kind view_kind)#

Enables View of specific group of operations.

Parameters:

view_kind

Returns:

pti_result

pti_result ptiViewDisable(pti_view_kind view_kind)#

Disables View of specific group of operations.

Parameters:

view_kind

Returns:

pti_result

pti_result ptiViewGPULocalAvailable(void)#

Returns if GPU Local view is supported by the installed driver.

Returns:

pti_result

pti_result ptiFlushAllViews(void)#

Flushes all view records by calling bufferCompleted callback.

Returns:

pti_result

pti_result ptiViewGetNextRecord(uint8_t *buffer, size_t valid_bytes, pti_view_record_base **record)#

Gets next view record in buffer.

Parameters:
  • buffer – The buffer initially provided by pti_fptr_buffer_requested user function and now passed to pti_fptr_buffer_completed

  • valid_bytes – Size of portion of the buffer filled with view records

  • record – Current view record

Returns:

pti_result

pti_result ptiViewPushExternalCorrelationId(pti_view_external_kind external_kind, uint64_t external_id)#

Pushes ExternalCorrelationId kind and id for generation of external correlation records.

Parameters:
  • external_kind

  • external_id

Returns:

pti_result

pti_result ptiViewPopExternalCorrelationId(pti_view_external_kind external_kind, uint64_t *p_external_id)#

Pops ExternalCorrelationId kind and id for generation of external correlation records.

Parameters:
  • external_kind

  • external_id

Returns:

pti_result

uint64_t ptiViewGetTimestamp(void)#

Returns current Intel(R) PTI host timestamp in nanoseconds. The timestamp is in the same api_group as view records timestamps.

Returns:

uint64_t

pti_result ptiViewSetTimestampCallback(pti_fptr_get_timestamp fptr_timestampRequested)#

Sets callback to user provided timestamping function. This will replace the default Intel(R) PTI host timestamper. Multiple callbacks that set differing timestamp function, through the session; will result in differing timestamp api_groups in the view record buffer.

Returns:

pti_result

pti_result ptiViewGetApiIdName(pti_api_group_id type, uint32_t unique_id, const char **name)#

Gets api name for api id to user — the api is embedded in the pti_view_record_api. Sample usage - const char* pName = nullptr;.

  • pti_result status = ptiViewGetApiIdName(pti_cb_api_function_type::PTI_CB_DRIVER, rec._api_id, &pName);

Returns:

pti_result

pti_result ptiViewEnableDriverApi(uint32_t enable, pti_api_group_id api_group_id, uint32_t api_id)#

Enable/Disable driver specific API specified by api_id within the api_group_id.

Returns:

pti_result

pti_result ptiViewEnableRuntimeApi(uint32_t enable, pti_api_group_id api_group_id, uint32_t api_id)#

Enable/Disable runtime specific API specified by api_id within the api_group_id.

Returns:

pti_result

pti_result ptiViewEnableDriverApiClass(uint32_t enable, pti_api_class api_class, pti_api_group_id group)#

Enable/Disable driver APIs tracing specified by api_class across specified api group(s). Use for the coarse-grain control of the Driver APIs tracing.

Returns:

pti_result

pti_result ptiViewEnableRuntimeApiClass(uint32_t enable, pti_api_class api_class, pti_api_group_id group)#

Enable/Disable runtime APIs tracing specified by api_class across specified api group(s). Use for the coarse-grain control of the Runtime APIs tracing.

Returns:

pti_result

Helper Functions#

const char *ptiViewOverheadKindToString(pti_view_overhead_kind type)#

Helper function to return stringified enum types for pti_view_overhead_kind.

Returns:

const char*

const char *ptiViewMemoryTypeToString(pti_view_memory_type type)#

Helper function to return stringified enum types for pti_view_memory_type.

Returns:

const char*

const char *ptiViewMemcpyTypeToString(pti_view_memcpy_type type)#

Helper function to return stringified enum types for pti_view_memcpy_type.

Returns:

const char*

Structures#

struct pti_view_record_base#

Base View record type.

Public Members

pti_view_kind _view_kind#

Record View kind.

struct pti_view_record_api#

API Calls View record type.

Public Members

pti_view_record_base _view_kind#

Base record.

uint64_t _start_timestamp#

Function call start timestamp, ns.

uint64_t _end_timestamp#

Function call end timestamp, ns.

pti_api_group_id _api_group#

Defines the API group this record was collected in (L0, SYCL, OCL, etc).

uint32_t _api_id#

Id of this api call.

uint32_t _process_id#

Process ID of where the API call observed.

uint32_t _thread_id#

Thread ID of where the API call observed.

uint32_t _correlation_id#

Id correlating this call with other views, eg: memfill, memcpy and kernel GPU activity.

uint32_t _return_code#

Applicable only for PTI_VIEW_DRIVER_API, type cast to specific driver code type.

struct pti_view_record_kernel#

Device Compute kernel View record type.

Note

about the timestamps in the all records below: in case PTI collection was not able to determine the timestamp for a particular event in the life of a kernel, data transfer, a call, etc., the timestamp value will be zero

Public Members

pti_view_record_base _view_kind#

Base record.

pti_backend_queue_t _queue_handle#

Device back-end queue handle.

pti_backend_ctx_t _context_handle#

Context handle.

const char *_name#

Kernel name.

const char *_source_file_name#

Kernel source file, null if no information

uint64_t _source_line_number#

Kernel beginning source line number, 0 if no information

uint64_t _kernel_id#

Kernel instance ID, unique among all device kernel instances

uint32_t _correlation_id#

ID that correlates this record with records of other Views

uint32_t _thread_id#

Thread ID of Function call.

char _pci_address[PTI_MAX_PCI_ADDRESS_SIZE]#

Device pci_address.

uint8_t _device_uuid[PTI_MAX_DEVICE_UUID_SIZE]#

Device uuid.

uint64_t _append_timestamp#

Timestamp of kernel appending to back-end command list, ns

uint64_t _start_timestamp#

Timestamp of kernel start on device, ns.

uint64_t _end_timestamp#

Timestamp of kernel completion on device, ns.

uint64_t _submit_timestamp#

Timestamp of kernel command list submission of device, ns

uint64_t _sycl_task_begin_timestamp#

Timestamp of kernel submission from SYCL layer, ns

uint64_t _sycl_enqk_begin_timestamp#

Timestamp of enqueue kernel from SYCL layer, ns.

uint64_t _sycl_node_id#

SYCL Node ID.

uint64_t _sycl_queue_id#

Device front-end queue id.

uint32_t _sycl_invocation_id#

SYCL Invocation ID.

struct pti_view_record_memory_copy#

Memory Copy Operation View record type.

Public Members

pti_view_record_base _view_kind#

Base record.

pti_view_memcpy_type _memcpy_type#

Memory copy type.

pti_view_memory_type _mem_src#

Memory type.

pti_view_memory_type _mem_dst#

Memory type.

pti_backend_queue_t _queue_handle#

Device back-end queue handle.

pti_backend_ctx_t _context_handle#

Context handle.

const char *_name#

Back-end API name making a memory copy.

char _pci_address[PTI_MAX_PCI_ADDRESS_SIZE]#

Source or Destination Device pci_address Only a single device is represented by this record

uint8_t _device_uuid[PTI_MAX_DEVICE_UUID_SIZE]#

Source or Destination Device uuid.

uint64_t _mem_op_id#

Memory operation ID, unique among all memory operations instances

uint32_t _correlation_id#

ID that correlates this record with records of other Views

uint32_t _thread_id#

Thread ID from which operation submitted.

uint64_t _append_timestamp#

Timestamp of memory copy appending to back-end command list, ns

uint64_t _start_timestamp#

Timestamp of memory copy start on device, ns.

uint64_t _end_timestamp#

Timestamp of memory copy completion on device, ns.

uint64_t _submit_timestamp#

Timestamp of memory copy command list submission to device, ns

uint64_t _bytes#

number of bytes copied

uint64_t _sycl_queue_id#

Device front-end queue id.

struct pti_view_record_memory_copy_p2p#

Peer to Peer Memory Copy Operation View record type.

Public Members

pti_view_record_base _view_kind#

Base record.

pti_view_memcpy_type _memcpy_type#

Memory copy type.

pti_view_memory_type _mem_src#

Memory type.

pti_view_memory_type _mem_dst#

Memory type.

pti_backend_queue_t _queue_handle#

Device back-end queue handle.

pti_backend_ctx_t _context_handle#

Context handle.

const char *_name#

Back-end API name making a memory copy.

char _src_pci_address[PTI_MAX_PCI_ADDRESS_SIZE]#

Source Device pci_address.

char _dst_pci_address[PTI_MAX_PCI_ADDRESS_SIZE]#

Destination Device pci_address.

uint8_t _src_uuid[PTI_MAX_DEVICE_UUID_SIZE]#

Source Device uuid.

uint8_t _dst_uuid[PTI_MAX_DEVICE_UUID_SIZE]#

Destination Device uuid.

uint64_t _mem_op_id#

Memory operation ID, unique among all memory operations instances

uint32_t _correlation_id#

ID that correlates this record with records of other Views

uint32_t _thread_id#

Thread ID from which operation submitted.

uint64_t _append_timestamp#

Timestamp of memory copy appending to back-end command list, ns

uint64_t _start_timestamp#

Timestamp of memory copy start on device, ns.

uint64_t _end_timestamp#

Timestamp of memory copy completion on device, ns.

uint64_t _submit_timestamp#

Timestamp of memory copy command list submission to device, ns

uint64_t _bytes#

number of bytes copied

uint64_t _sycl_queue_id#

Device front-end queue id.

struct pti_view_record_memory_fill#

Device Memory Fill operation View record type.

Public Members

pti_view_record_base _view_kind#

Base record.

pti_view_memory_type _mem_type#

Type of memory filled.

pti_backend_queue_t _queue_handle#

Device back-end queue handle.

pti_backend_ctx_t _context_handle#

Context handle.

const char *_name#

Back-end API name making a memory fill.

char _pci_address[PTI_MAX_PCI_ADDRESS_SIZE]#

Device pci_address.

uint8_t _device_uuid[PTI_MAX_DEVICE_UUID_SIZE]#

Device uuid.

uint64_t _mem_op_id#

Memory operation ID, unique among all memory operations instances

uint32_t _correlation_id#

ID provided by user, marking some external to PTI operations

uint32_t _thread_id#

Thread ID from which operation submitted.

uint64_t _append_timestamp#

Timestamp of memory fill appending to back-end command list, ns

uint64_t _start_timestamp#

Timestamp of memory fill start on device, ns.

uint64_t _end_timestamp#

Timestamp of memory fill completion on device, ns.

uint64_t _submit_timestamp#

Timestamp of memory fill command list submission to device, ns

uint64_t _bytes#

Number of bytes filled.

uint64_t _value_for_set#

Value filled.

uint64_t _sycl_queue_id#

Device front-end queue id.

struct pti_view_record_synchronization#

Synchronization View record type.

Public Members

pti_view_record_base _view_kind#

Base record.

pti_view_synchronization_type _synch_type#

Synchronization type.

pti_backend_ctx_t _context_handle#

Context handle.

pti_backend_queue_t _queue_handle#

Queue handle.

pti_backend_evt_t _event_handle#

Event handle synchronization api is called with.

uint64_t _start_timestamp#

For host synchronization types: function enter timestamp For gpu synchronization types: synch start timestamp on device

uint64_t _end_timestamp#

For host synchronization types: function exit timestamp For gpu synchronization types: synch complete timestamp on device

uint32_t _thread_id#

Thread ID of function call.

uint32_t _correlation_id#

ID that correlates this record with records of other Views.

uint32_t _number_wait_events#

For relevent event synch types (eg. Barriers)

uint32_t _return_code#

L0/OCL synch api onexit return type - cast to specific driver code type.

uint32_t _api_id#

Id of this synch api call.

pti_api_group_id _api_group#

Defines api api_group this record was collected in (L0,Sycl,OCL, etc).

struct pti_view_record_external_correlation#

External Correlation View record type.

Public Members

pti_view_record_base _view_kind#

Base record.

uint32_t _correlation_id#

ID that correlates this record with records of other Views

uint64_t _external_id#

ID provided by user, marking an external to PTI operation

pti_view_external_kind _external_kind#

External correlation kind.

struct pti_view_record_overhead#

Overhead View record type.

Public Members

pti_view_record_base _view_kind#

Base record.

uint64_t _overhead_start_timestamp_ns#

Overhead observation start timestamp, ns.

uint64_t _overhead_end_timestamp_ns#

Overhead observation end timestamp, ns.

uint32_t _overhead_thread_id#

Thread ID of where the overhead observed.

uint32_t _api_id#

API id of the overhead.

uint64_t _overhead_count#

number of views in the overhead region

uint64_t _overhead_duration_ns#

Cumulative duration of the overhead over the observation region, could be less than interval between the observation region start and the end

pti_view_overhead_kind _overhead_kind#

Type of overhead.

struct pti_view_record_comms#

Communication View record type, communication provided by oneCCL, supported only for Linux.

Public Members

pti_view_record_base _view_kind#

Base record.

uint64_t _start_timestamp#

Operation start timestamp, ns.

uint64_t _end_timestamp#

Operation end timestamp, ns.

uint32_t _process_id#

Process ID of where the operation observed.

uint32_t _thread_id#

Thread ID of where the operation observed.

uint64_t _metadata_size#

Size of metadata attached to this communication record.

uint64_t _communicator_id#

Communicator ID of the operation.

const char *_name#

Operation name.

Enumerators#

enum pti_result#

Return/Error codes.

Values:

enumerator PTI_SUCCESS#

success

enumerator PTI_STATUS_END_OF_BUFFER#

end of buffer reached, e.g., in ptiViewGetNextRecord

enumerator PTI_ERROR_NOT_IMPLEMENTED#

functionality not implemented

enumerator PTI_ERROR_BAD_ARGUMENT#

invalid argument

enumerator PTI_ERROR_NO_CALLBACKS_SET#

error due to no callbacks set via ptiViewSetCallbacks

enumerator PTI_ERROR_EXTERNAL_ID_QUEUE_EMPTY#

empty external ID-queue while working with PTI_VIEW_EXTERNAL_CORRELATION

enumerator PTI_ERROR_BAD_TIMESTAMP#

error in timestamp conversion, might be related with the user provided TimestampCallback

enumerator PTI_ERROR_BAD_API_ID#

invalid api_id when enable/disable runtime/driver specific api_id

enumerator PTI_ERROR_NO_GPU_VIEWS_ENABLED#

at least one GPU view must be enabled for kernel tracing

enumerator PTI_ERROR_DRIVER#

unknown driver error

enumerator PTI_ERROR_TRACING_NOT_INITIALIZED#

installed driver requires tracing enabling with setting environment variable ZE_ENABLE_TRACING_LAYER to 1

enumerator PTI_ERROR_L0_LOCAL_PROFILING_NOT_SUPPORTED#

no Local profiling support in the installed driver

enumerator PTI_ERROR_METRICS_COLLECTION_NOT_ENABLED#

metrics collection not running

enumerator PTI_ERROR_METRICS_COLLECTION_NOT_DISABLED#

metrics collection not stopped

enumerator PTI_ERROR_METRICS_COLLECTION_NOT_PAUSED#

metrics collection not paused

enumerator PTI_ERROR_METRICS_COLLECTION_ALREADY_PAUSED#

metrics collection already paused

enumerator PTI_ERROR_METRICS_COLLECTION_ALREADY_ENABLED#

metrics collection already running

enumerator PTI_ERROR_METRICS_BAD_COLLECTION_CONFIGURATION#

bad metrics collection configuration

enumerator PTI_ERROR_METRICS_NO_DATA_COLLECTED#

Calculate called on empty collection.

enumerator PTI_ERROR_METRICS_SCOPE_METRIC_NOT_FOUND#

One or more requested metrics not found across all metrics groups.

enumerator PTI_ERROR_METRICS_SCOPE_NOT_A_SINGLE_GROUP#

When requested metrics cannot be collected within one metrics group.

enumerator PTI_ERROR_METRICS_SCOPE_OUT_OF_MEMORY#

Out of memory during metrics scope operation.

enumerator PTI_ERROR_METRICS_SCOPE_COLLECTION_BUFFER_TOO_SMALL#

Size of the buffer is not enough to fit even one Metrics Scope collection

enumerator PTI_ERROR_METRICS_SCOPE_INSUFFICIENT_BUFFER#

Insufficient buffer for metrics scope operation.

enumerator PTI_ERROR_METRICS_SCOPE_INVALID_COLLECTION_BUFFER#

Invalid collection buffer in metrics scope.

enumerator PTI_WARN_METRICS_SCOPE_PARTIAL_BUFFER#

Warning: partial buffer populated in metrics scope.

enumerator PTI_ERROR_INTERNAL#

internal error

enum pti_view_kind#

Kinds of software and hardware operations to be tracked and viewed, passed to ptiViewEnable/ptiViewDisable.

Values:

enumerator PTI_VIEW_INVALID#

Invalid.

enumerator PTI_VIEW_DEVICE_GPU_KERNEL#

Device kernels.

enumerator PTI_VIEW_DEVICE_CPU_KERNEL#

Host (CPU) kernels.

enumerator PTI_VIEW_DRIVER_API#

Driver (aka back-end) API tracing.

enumerator PTI_VIEW_RESERVED#

For future use.

enumerator PTI_VIEW_COLLECTION_OVERHEAD#

Collection overhead.

enumerator PTI_VIEW_RUNTIME_API#

Runtime(Sycl, other) API tracing.

enumerator PTI_VIEW_EXTERNAL_CORRELATION#

Correlation of external operations.

enumerator PTI_VIEW_DEVICE_GPU_MEM_COPY#

Memory copies between Host and Device.

enumerator PTI_VIEW_DEVICE_GPU_MEM_FILL#

Device memory fills.

enumerator PTI_VIEW_DEVICE_GPU_MEM_COPY_P2P#

Peer to Peer Memory copies between Devices.

enumerator PTI_VIEW_DEVICE_SYNCHRONIZATION#

Synchronization operations on host and GPU.

enumerator PTI_VIEW_COMMUNICATION#

Communication records via oneCCL. Only for Linux.

enum pti_view_external_kind#

External correlation kinds.

Values:

enumerator PTI_VIEW_EXTERNAL_KIND_INVALID#

Invalid external kind.

enumerator PTI_VIEW_EXTERNAL_KIND_UNKNOWN#

Unknown external kind.

enumerator PTI_VIEW_EXTERNAL_KIND_CUSTOM_0#

Custom external kind.

enumerator PTI_VIEW_EXTERNAL_KIND_CUSTOM_1#

Custom external kind.

enumerator PTI_VIEW_EXTERNAL_KIND_CUSTOM_2#

Custom external kind.

enumerator PTI_VIEW_EXTERNAL_KIND_CUSTOM_3#

Custom external kind.

enum pti_view_overhead_kind#

Collection Overhead kinds.

Values:

enumerator PTI_VIEW_OVERHEAD_KIND_INVALID#

Invalid overhead kind.

enumerator PTI_VIEW_OVERHEAD_KIND_UNKNOWN#

Unknown overhead kind.

enumerator PTI_VIEW_OVERHEAD_KIND_RESOURCE#

Overhead due to a resource.

enumerator PTI_VIEW_OVERHEAD_KIND_BUFFER_FLUSH#

Overhead due to a buffer flush.

enumerator PTI_VIEW_OVERHEAD_KIND_DRIVER#

Overhead due to driver.

enumerator PTI_VIEW_OVERHEAD_KIND_TIME#

Overhead due to L0 api processing time.

enum pti_view_memory_type#

Memory types.

Values:

enumerator PTI_VIEW_MEMORY_TYPE_MEMORY#

Unknown or host memory (user allocated)

enumerator PTI_VIEW_MEMORY_TYPE_HOST#

Host memory (driver allocated)

enumerator PTI_VIEW_MEMORY_TYPE_DEVICE#

Device memory.

enumerator PTI_VIEW_MEMORY_TYPE_SHARED#

Shared memory.

enum pti_view_memcpy_type#

Memory copy types where M=Memory, D=Device, H=Host, S=Shared.

Values:

enumerator PTI_VIEW_MEMCPY_TYPE_M2M#

Memory to Memory type.

enumerator PTI_VIEW_MEMCPY_TYPE_M2H#

Memory to Host type.

enumerator PTI_VIEW_MEMCPY_TYPE_M2D#

Memory to Device type.

enumerator PTI_VIEW_MEMCPY_TYPE_M2S#

Memory to Shared type.

enumerator PTI_VIEW_MEMCPY_TYPE_H2M#

Host to Memory type.

enumerator PTI_VIEW_MEMCPY_TYPE_H2H#

Host to Host type.

enumerator PTI_VIEW_MEMCPY_TYPE_H2D#

Host to Device type.

enumerator PTI_VIEW_MEMCPY_TYPE_H2S#

Host to Shared type.

enumerator PTI_VIEW_MEMCPY_TYPE_D2M#

Device to Memory type.

enumerator PTI_VIEW_MEMCPY_TYPE_D2H#

Device to Host type.

enumerator PTI_VIEW_MEMCPY_TYPE_D2D#

Device to Device type.

enumerator PTI_VIEW_MEMCPY_TYPE_D2S#

Device to Shared type.

enumerator PTI_VIEW_MEMCPY_TYPE_S2M#

Shared to Memory type.

enumerator PTI_VIEW_MEMCPY_TYPE_S2H#

Shared to Host type.

enumerator PTI_VIEW_MEMCPY_TYPE_S2D#

Shared to Device type.

enumerator PTI_VIEW_MEMCPY_TYPE_S2S#

Shared to Shared type.

enum pti_view_synchronization_type#

Synchronization types: Type marked as *_GPU_* note the synchronization start/complete on device (e.g Barriers). Type marked as *_HOST_* note the synchronization start/end on host (e.g. Fence).

Values:

enumerator PTI_VIEW_SYNCHRONIZATION_TYPE_UNKNOWN#

Unknown synchronization type.

enumerator PTI_VIEW_SYNCHRONIZATION_TYPE_GPU_BARRIER_EXECUTION#

Barrier execution and global memory synchronization type.

enumerator PTI_VIEW_SYNCHRONIZATION_TYPE_GPU_BARRIER_MEMORY#

Barrier memory range coherency synchronization type.

enumerator PTI_VIEW_SYNCHRONIZATION_TYPE_HOST_FENCE#

Fence coarse grain execution synchronization type.

enumerator PTI_VIEW_SYNCHRONIZATION_TYPE_HOST_EVENT#

Event host synchronization type.

enumerator PTI_VIEW_SYNCHRONIZATION_TYPE_HOST_COMMAND_LIST#

Commandlist host synchronization type.

enumerator PTI_VIEW_SYNCHRONIZATION_TYPE_HOST_COMMAND_QUEUE#

CommandQueue host synchronization type.

enum pti_api_group_id#

api_group types

Values:

enumerator PTI_API_GROUP_RESERVED#
enumerator PTI_API_GROUP_LEVELZERO#
enumerator PTI_API_GROUP_OPENCL#
enumerator PTI_API_GROUP_SYCL#
enumerator PTI_API_GROUP_HYBRID_SYCL_LEVELZERO#
enumerator PTI_API_GROUP_HYBRID_SYCL_OPENCL#
enumerator PTI_API_GROUP_ALL#
enum pti_api_class#

API Classes across API groups, used for coarse-grain filtering of traced APIs, serve only as input to PTI functions.

Values:

enumerator PTI_API_CLASS_RESERVED#
enumerator PTI_API_CLASS_GPU_OPERATION_CORE#

any memory or kernel APIs submitting some work to GPU — only Sycl Runtime mem/kernel apis covered for now.

enumerator PTI_API_CLASS_HOST_OPERATION_SYNCHRONIZATION#

Host synchronization APIs (no barriers) — only LZ synch apis covered for now.

enumerator PTI_API_CLASS_ALL#

all APIs, makes all valid values positive numbers Be careful using CLASS_ALL in api calls — you will get all classes now and in the future!

Function Pointer Typedefs#

typedef void (*pti_fptr_buffer_completed)(unsigned char *buffer, size_t buffer_size_in_bytes, size_t used_bytes)#

Function pointer for buffer completed.

Param buffer:

Param buffer_size_in_bytes:

Param used_bytes:

Return:

void

typedef void (*pti_fptr_buffer_requested)(unsigned char **buffer_ptr, size_t *buffer_size_in_bytes)#

Function pointer for buffer requested.

Param buffer_ptr:

Param buffer_size_in_bytes:

Return:

void