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