HOME
| OPENMP API Specification: Version 5.1 November 2020

5.4.2  Context Management and Navigation

Summary The third-party tool provides the OMPD library with callbacks to manage and to navigate context relationships.

5.4.2.1 ompd_callback_get_thread_context_for_thread_id_fn_t

Summary The ompd_callback_get_thread_context_for_thread_id_fn_t is the type signature of the callback routine that the third-party tool provides to the OMPD library to map a native thread identifier to a third-party tool thread context.

Format

SVG-Viewer needed.

 

 
typedef ompd_rc_t 
(*ompd_callback_get_thread_context_for_thread_id_fn_t) ( 
  ompd_address_space_context_t *address_space_context, 
  ompd_thread_id_t kind, 
  ompd_size_t sizeof_thread_id, 
  const void *thread_id, 
  ompd_thread_context_t **thread_context 
);  

SVG-Viewer needed.

Description The ompd_callback_get_thread_context_for_thread_id_fn_t is the type signature of the context mapping callback routine that the third-party tool provides. This callback maps a native thread identifier to a third-party tool thread context. The native thread identifier is within the address space that address_space_context identifies. The OMPD library can use the thread context, for example, to access thread local storage.

Description of Arguments The address_space_context argument is an opaque handle that the third-party tool provides to reference an address space. The kind, sizeof_thread_id, and thread_id arguments represent a native thread identifier. On return, the thread_context argument provides an opaque handle that maps a native thread identifier to a third-party tool thread context.

Description of Return Codes In addition to the general return codes listed at the beginning of Section 5.4, routines that use the ompd_callback_get_thread_context_for_thread_id_fn_t type may also return the following return codes:

Restrictions Restrictions on routines that use ompd_callback_get_thread_context_for_thread_id_fn_t are as follows:

Cross References

5.4.2.2 ompd_callback_sizeof_fn_t

Summary The ompd_callback_sizeof_fn_t type is the type signature of the callback routine that the third-party tool provides to the OMPD library to determine the sizes of the primitive types in an address space.

Format

SVG-Viewer needed.

 

 
typedef ompd_rc_t (*ompd_callback_sizeof_fn_t) ( 
  ompd_address_space_context_t *address_space_context, 
  ompd_device_type_sizes_t *sizes 
);  

SVG-Viewer needed.

Description The ompd_callback_sizeof_fn_t is the type signature of the type-size query callback routine that the third-party tool provides. This callback provides the sizes of the basic primitive types for a given address space.

Description of Arguments The callback returns the sizes of the basic primitive types used by the address space context that the address_space_context argument specifies in the location to which the sizes argument points.

Description of Return Codes Routines that use the ompd_callback_sizeof_fn_t type may return the general return codes listed at the beginning of Section 5.4.

Cross References