| OPENMP API Specification: Version 5.0 November 2018

5.3.8  OMPD Handle Types

SummaryOMPD handle types are opaque types.


SVG-Viewer needed.


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;  

SVG-Viewer needed.

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.