typedef struct _ompd_aspace_handle ompd_address_space_handle_t;
typedef struct _ompd_thread_handle ompd_thread_handle_t;
typedef struct _ompd_parallel_handle ompd_parallel_handle_t;
typedef struct _ompd_task_handle ompd_task_handle_t;
SummaryOMPD handle types are opaque types.
DescriptionOMPD uses handles for address spaces (ompd_address_space_handle_t), threads (ompd_thread_handle_t), parallel regions (ompd_parallel_handle_t), and tasks (ompd_task_handle_t). Each operation of the OMPD interface that applies to a particular address space, thread, parallel region, or task must explicitly specify a corresponding handle. A handle for an entity is constant while the entity itself is alive. Handles are defined by the OMPD library, and are opaque to the tool. Defining externally visible type names in this way introduces type safety to the interface, and helps to catch instances where incorrect handles are passed by the tool to the OMPD library. The structures do not need to be defined; instead, the OMPD library must cast incoming (pointers to) handles to the appropriate internal, private types.