Prototypes for the C/C++ runtime library routines described in this chapter shall be provided in a header file named omp.h. This file also defines the following:
- The type omp_allocator_handle_t, which must be an implementation-defined (for C++ possibly scoped) enum type with at least the omp_null_allocator enumerator with the value zero and an enumerator for each predefined memory allocator in 6.3;
- omp_atv_default, which is an instance of a type compatible with omp_uintptr_t with the value -1;
- The type omp_control_tool_result_t;
- The type omp_control_tool_t;
- The type omp_depend_t;
- The type omp_event_handle_t, which must be an implementation-defined (for C++ possibly scoped) enum type;
- The enumerator omp_initial_device with value -1;
- The type omp_interop_t, which must be an implementation-defined integral or pointer type;
- The type omp_interop_fr_t, which must be an implementation-defined enum type with enumerators named omp_ifr_name where name is a foreign runtime name that is defined in the OpenMP Additional Definitions document;
- The type omp_intptr_t, which is a signed integer type that is at least the size of a pointer on any device;
- The enumerator omp_invalid_device with an implementation-defined value less than -1;
- The type omp_lock_hint_t (deprecated);
- The type omp_lock_t;
- The type omp_memspace_handle_t, which must be an implementation-defined (for C++ possibly scoped) enum type with an enumerator for at least each predefined memory space in 6.1;
- The type omp_nest_lock_t;
- The type omp_pause_resource_t;
- The type omp_proc_bind_t;
- The type omp_sched_t;
- The type omp_sync_hint_t; and
- The type omp_uintptr_t, which is an unsigned integer type capable of holding a pointer on any device.