#include <va_tool.h>


typedef void *(*va_construct_func)(void*)🔗

The type of a tool instance constructor function.

typedef void (*va_destruct_func)(void*)🔗

The type of a tool instance destructor function.

typedef int32_t (*va_process_func)(void*, void*)🔗

The type of a processing function that actually performs the job of a registered tool.

typedef void (*va_notify_func)(void*, va_event_type, void*)🔗

The type of a notification function that receives event notifications.

typedef int32_t (*va_strerror_func)(int32_t, va_string**)🔗

The type of a function that fetches an error message for a status code.

typedef void (*va_get_value_func)(const void*, void*)🔗

The type of a function that is used to retrieve default parameter values and values of meta-data entries.


enum va_tool_info_type🔗

Data identifiers for a tool registration call.

There is usually no need to manually enter these values because the registration macros automatically use them where needed. They may be needed as a work-around if the number of variable arguments in a registration macro call grows larger than a particular C preprocessor implementation can handle.


enumerator va_tool_end_of_data🔗
enumerator va_tool_name🔗
enumerator va_tool_group🔗
enumerator va_tool_tag🔗
enumerator va_tool_construct🔗
enumerator va_tool_destruct🔗
enumerator va_tool_process🔗
enumerator va_tool_notify🔗
enumerator va_tool_required_input🔗
enumerator va_tool_optional_input🔗
enumerator va_tool_fixed_input🔗
enumerator va_tool_output🔗
enumerator va_tool_static_meta🔗
enumerator va_tool_dynamic_meta🔗
enumerator va_tool_exemode🔗
enumerator va_tool_strerror🔗
enumerator va_tool_last_info_type🔗
enum va_event_type🔗

Event types.


enumerator va_event_started🔗

The processing graph containing the tool was just started.

This event happens before the first call to process.

enumerator va_event_stopped🔗

The processing graph containing the tool was just stopped.

This event happens after the last call to process.

enum va_execution_mode🔗

Execution modes.

A tool can specify a single execution mode or a bitwise OR of supported modes.


enumerator va_execute_nonthreaded🔗

The tool will be executed immediately when input data is available in the context of the thread that produced the last missing parameter.

The thread may be different from time to time, but no concurrent calls will happen.

enumerator va_execute_singlethreaded🔗

The tool will be executed in a dedicated processing thread.

enumerator va_execute_multithreaded🔗

The tool will be executed by an arbitrary processing thread from a thread pool.

Many calls may be active simultaneously.

enumerator va_execute_any🔗

All execution modes are supported.