The implementation must provide foreign-runtime-id values that are enumerators of type omp_interop_fr_t and that correspond to the supported foreign runtime environments.
An OpenMP implementation may interoperate with one or more foreign runtime environments through the use of the interop construct that is described in this section, the interop operation for a declared variant function and the interoperability routines that are available through the OpenMP Runtime API.
The implementation must provide foreign-runtime-id values that are enumerators of type omp_interop_fr_t and that correspond to the supported foreign runtime environments.
The implementation must provide foreign-runtime-id values that are named integer constants with kind omp_interop_fr_kind and that correspond to the supported foreign runtime environments.
Each foreign-runtime-id value provided by an implementation will be available as omp_ifr_name, where name is the name of the foreign runtime environment. Available names include those that are listed in the OpenMP Additional Definitions document; implementation-defined names may also be supported. The value of omp_ifr_last is defined as one greater than the value of the highest supported foreign-runtime-id value that is listed in the aforementioned document.