1*18a5822eSThomas Veerman /* This file is automatically generated. DO NOT EDIT! */ 2*18a5822eSThomas Veerman /* Generated from: NetBSD: mknative-gcc,v 1.58 2011/07/02 13:25:05 mrg Exp */ 3*18a5822eSThomas Veerman /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ 4*18a5822eSThomas Veerman 5*18a5822eSThomas Veerman /* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. 6*18a5822eSThomas Veerman Contributed by Richard Henderson <rth@redhat.com>. 7*18a5822eSThomas Veerman 8*18a5822eSThomas Veerman This file is part of the GNU OpenMP Library (libgomp). 9*18a5822eSThomas Veerman 10*18a5822eSThomas Veerman Libgomp is free software; you can redistribute it and/or modify it 11*18a5822eSThomas Veerman under the terms of the GNU General Public License as published by 12*18a5822eSThomas Veerman the Free Software Foundation; either version 3, or (at your option) 13*18a5822eSThomas Veerman any later version. 14*18a5822eSThomas Veerman 15*18a5822eSThomas Veerman Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY 16*18a5822eSThomas Veerman WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17*18a5822eSThomas Veerman FOR A PARTICULAR PURPOSE. See the GNU General Public License for 18*18a5822eSThomas Veerman more details. 19*18a5822eSThomas Veerman 20*18a5822eSThomas Veerman Under Section 7 of GPL version 3, you are granted additional 21*18a5822eSThomas Veerman permissions described in the GCC Runtime Library Exception, version 22*18a5822eSThomas Veerman 3.1, as published by the Free Software Foundation. 23*18a5822eSThomas Veerman 24*18a5822eSThomas Veerman You should have received a copy of the GNU General Public License and 25*18a5822eSThomas Veerman a copy of the GCC Runtime Library Exception along with this program; 26*18a5822eSThomas Veerman see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 27*18a5822eSThomas Veerman <http://www.gnu.org/licenses/>. */ 28*18a5822eSThomas Veerman 29*18a5822eSThomas Veerman #ifndef OMP_H 30*18a5822eSThomas Veerman #define OMP_H 1 31*18a5822eSThomas Veerman 32*18a5822eSThomas Veerman #ifndef _LIBGOMP_OMP_LOCK_DEFINED 33*18a5822eSThomas Veerman #define _LIBGOMP_OMP_LOCK_DEFINED 1 34*18a5822eSThomas Veerman /* These two structures get edited by the libgomp build process to 35*18a5822eSThomas Veerman reflect the shape of the two types. Their internals are private 36*18a5822eSThomas Veerman to the library. */ 37*18a5822eSThomas Veerman 38*18a5822eSThomas Veerman typedef struct 39*18a5822eSThomas Veerman { 40*18a5822eSThomas Veerman unsigned char _x[4] 41*18a5822eSThomas Veerman __attribute__((__aligned__(4))); 42*18a5822eSThomas Veerman } omp_lock_t; 43*18a5822eSThomas Veerman 44*18a5822eSThomas Veerman typedef struct 45*18a5822eSThomas Veerman { 46*18a5822eSThomas Veerman unsigned char _x[12] 47*18a5822eSThomas Veerman __attribute__((__aligned__(4))); 48*18a5822eSThomas Veerman } omp_nest_lock_t; 49*18a5822eSThomas Veerman #endif 50*18a5822eSThomas Veerman 51*18a5822eSThomas Veerman typedef enum omp_sched_t 52*18a5822eSThomas Veerman { 53*18a5822eSThomas Veerman omp_sched_static = 1, 54*18a5822eSThomas Veerman omp_sched_dynamic = 2, 55*18a5822eSThomas Veerman omp_sched_guided = 3, 56*18a5822eSThomas Veerman omp_sched_auto = 4 57*18a5822eSThomas Veerman } omp_sched_t; 58*18a5822eSThomas Veerman 59*18a5822eSThomas Veerman #ifdef __cplusplus 60*18a5822eSThomas Veerman extern "C" { 61*18a5822eSThomas Veerman # define __GOMP_NOTHROW throw () 62*18a5822eSThomas Veerman #else 63*18a5822eSThomas Veerman # define __GOMP_NOTHROW __attribute__((__nothrow__)) 64*18a5822eSThomas Veerman #endif 65*18a5822eSThomas Veerman 66*18a5822eSThomas Veerman extern void omp_set_num_threads (int) __GOMP_NOTHROW; 67*18a5822eSThomas Veerman extern int omp_get_num_threads (void) __GOMP_NOTHROW; 68*18a5822eSThomas Veerman extern int omp_get_max_threads (void) __GOMP_NOTHROW; 69*18a5822eSThomas Veerman extern int omp_get_thread_num (void) __GOMP_NOTHROW; 70*18a5822eSThomas Veerman extern int omp_get_num_procs (void) __GOMP_NOTHROW; 71*18a5822eSThomas Veerman 72*18a5822eSThomas Veerman extern int omp_in_parallel (void) __GOMP_NOTHROW; 73*18a5822eSThomas Veerman 74*18a5822eSThomas Veerman extern void omp_set_dynamic (int) __GOMP_NOTHROW; 75*18a5822eSThomas Veerman extern int omp_get_dynamic (void) __GOMP_NOTHROW; 76*18a5822eSThomas Veerman 77*18a5822eSThomas Veerman extern void omp_set_nested (int) __GOMP_NOTHROW; 78*18a5822eSThomas Veerman extern int omp_get_nested (void) __GOMP_NOTHROW; 79*18a5822eSThomas Veerman 80*18a5822eSThomas Veerman extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; 81*18a5822eSThomas Veerman extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; 82*18a5822eSThomas Veerman extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; 83*18a5822eSThomas Veerman extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; 84*18a5822eSThomas Veerman extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; 85*18a5822eSThomas Veerman 86*18a5822eSThomas Veerman extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 87*18a5822eSThomas Veerman extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 88*18a5822eSThomas Veerman extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 89*18a5822eSThomas Veerman extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 90*18a5822eSThomas Veerman extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 91*18a5822eSThomas Veerman 92*18a5822eSThomas Veerman extern double omp_get_wtime (void) __GOMP_NOTHROW; 93*18a5822eSThomas Veerman extern double omp_get_wtick (void) __GOMP_NOTHROW; 94*18a5822eSThomas Veerman 95*18a5822eSThomas Veerman void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; 96*18a5822eSThomas Veerman void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; 97*18a5822eSThomas Veerman int omp_get_thread_limit (void) __GOMP_NOTHROW; 98*18a5822eSThomas Veerman void omp_set_max_active_levels (int) __GOMP_NOTHROW; 99*18a5822eSThomas Veerman int omp_get_max_active_levels (void) __GOMP_NOTHROW; 100*18a5822eSThomas Veerman int omp_get_level (void) __GOMP_NOTHROW; 101*18a5822eSThomas Veerman int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; 102*18a5822eSThomas Veerman int omp_get_team_size (int) __GOMP_NOTHROW; 103*18a5822eSThomas Veerman int omp_get_active_level (void) __GOMP_NOTHROW; 104*18a5822eSThomas Veerman 105*18a5822eSThomas Veerman #ifdef __cplusplus 106*18a5822eSThomas Veerman } 107*18a5822eSThomas Veerman #endif 108*18a5822eSThomas Veerman 109*18a5822eSThomas Veerman #endif /* OMP_H */ 110