source: trunk/sys/libgomp/include/omp.h @ 422

Last change on this file since 422 was 1, checked in by alain, 8 years ago

First import

File size: 3.3 KB
Line 
1/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
2   Contributed by Richard Henderson <rth@redhat.com>.
3
4   This file is part of the GNU OpenMP Library (libgomp).
5
6   Libgomp is free software; you can redistribute it and/or modify it
7   under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 3, or (at your option)
9   any later version.
10
11   Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14   more details.
15
16   Under Section 7 of GPL version 3, you are granted additional
17   permissions described in the GCC Runtime Library Exception, version
18   3.1, as published by the Free Software Foundation.
19
20   You should have received a copy of the GNU General Public License and
21   a copy of the GCC Runtime Library Exception along with this program;
22   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23   <http://www.gnu.org/licenses/>.  */
24
25#ifndef OMP_H
26#define OMP_H 1
27
28#include <semaphore.h>
29
30#ifndef _LIBGOMP_OMP_LOCK_DEFINED
31#define _LIBGOMP_OMP_LOCK_DEFINED 1
32
33/* omp-lock.h */
34typedef sem_t omp_lock_t;
35typedef struct { sem_t lock; int count; void *owner; } omp_nest_lock_t;
36#endif
37
38typedef enum omp_sched_t
39{
40  omp_sched_static = 1,
41  omp_sched_dynamic = 2,
42  omp_sched_guided = 3,
43  omp_sched_auto = 4
44} omp_sched_t;
45
46#ifdef __cplusplus
47extern "C" {
48# define __GOMP_NOTHROW throw ()
49#else
50# define __GOMP_NOTHROW __attribute__((__nothrow__))
51#endif
52
53extern void omp_set_num_threads (int) __GOMP_NOTHROW;
54extern int omp_get_num_threads (void) __GOMP_NOTHROW;
55extern int omp_get_max_threads (void) __GOMP_NOTHROW;
56extern int omp_get_thread_num (void) __GOMP_NOTHROW;
57extern int omp_get_num_procs (void) __GOMP_NOTHROW;
58
59extern int omp_in_parallel (void) __GOMP_NOTHROW;
60
61extern void omp_set_dynamic (int) __GOMP_NOTHROW;
62extern int omp_get_dynamic (void) __GOMP_NOTHROW;
63
64extern void omp_set_nested (int) __GOMP_NOTHROW;
65extern int omp_get_nested (void) __GOMP_NOTHROW;
66
67extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW;
68extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW;
69extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW;
70extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW;
71extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW;
72
73extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
74extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
75extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
76extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
77extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
78
79extern double omp_get_wtime (void) __GOMP_NOTHROW;
80extern double omp_get_wtick (void) __GOMP_NOTHROW;
81
82void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW;
83void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW;
84int omp_get_thread_limit (void) __GOMP_NOTHROW;
85void omp_set_max_active_levels (int) __GOMP_NOTHROW;
86int omp_get_max_active_levels (void) __GOMP_NOTHROW;
87int omp_get_level (void) __GOMP_NOTHROW;
88int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW;
89int omp_get_team_size (int) __GOMP_NOTHROW;
90int omp_get_active_level (void) __GOMP_NOTHROW;
91
92#ifdef __cplusplus
93}
94#endif
95
96#endif /* OMP_H */
Note: See TracBrowser for help on using the repository browser.