libgomp_g.h

Go to the documentation of this file.
00001 /* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
00002    Contributed by Richard Henderson <rth@redhat.com>.
00003 
00004    This file is part of the GNU OpenMP Library (libgomp).
00005 
00006    Libgomp is free software; you can redistribute it and/or modify it
00007    under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 3, or (at your option)
00009    any later version.
00010 
00011    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
00012    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00013    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
00014    more details.
00015 
00016    Under Section 7 of GPL version 3, you are granted additional
00017    permissions described in the GCC Runtime Library Exception, version
00018    3.1, as published by the Free Software Foundation.
00019 
00020    You should have received a copy of the GNU General Public License and
00021    a copy of the GCC Runtime Library Exception along with this program;
00022    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
00023    <http://www.gnu.org/licenses/>.  */
00024 
00025 /* This file contains prototypes of functions in the external ABI.
00026    This file is included by files in the testsuite.  */
00027 
00028 #ifndef LIBGOMP_G_H 
00029 #define LIBGOMP_G_H 1
00030 
00031 #include <stdbool.h>
00032 
00033 /* barrier.c */
00034 
00035 extern void GOMP_barrier (void);
00036 
00037 /* critical.c */
00038 
00039 extern void GOMP_critical_start (void);
00040 extern void GOMP_critical_end (void);
00041 extern void GOMP_critical_name_start (void **);
00042 extern void GOMP_critical_name_end (void **);
00043 extern void GOMP_atomic_start (void);
00044 extern void GOMP_atomic_end (void);
00045 
00046 /* loop.c */
00047 
00048 extern bool GOMP_loop_static_start (long, long, long, long, long *, long *);
00049 extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *);
00050 extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *);
00051 extern bool GOMP_loop_runtime_start (long, long, long, long *, long *);
00052 
00053 extern bool GOMP_loop_ordered_static_start (long, long, long, long,
00054                         long *, long *);
00055 extern bool GOMP_loop_ordered_dynamic_start (long, long, long, long,
00056                          long *, long *);
00057 extern bool GOMP_loop_ordered_guided_start (long, long, long, long,
00058                         long *, long *);
00059 extern bool GOMP_loop_ordered_runtime_start (long, long, long, long *, long *);
00060 
00061 extern bool GOMP_loop_static_next (long *, long *);
00062 extern bool GOMP_loop_dynamic_next (long *, long *);
00063 extern bool GOMP_loop_guided_next (long *, long *);
00064 extern bool GOMP_loop_runtime_next (long *, long *);
00065 
00066 extern bool GOMP_loop_ordered_static_next (long *, long *);
00067 extern bool GOMP_loop_ordered_dynamic_next (long *, long *);
00068 extern bool GOMP_loop_ordered_guided_next (long *, long *);
00069 extern bool GOMP_loop_ordered_runtime_next (long *, long *);
00070 
00071 extern void GOMP_parallel_loop_static_start (void (*)(void *), void *,
00072                          unsigned, long, long, long, long);
00073 extern void GOMP_parallel_loop_dynamic_start (void (*)(void *), void *,
00074                          unsigned, long, long, long, long);
00075 extern void GOMP_parallel_loop_guided_start (void (*)(void *), void *,
00076                          unsigned, long, long, long, long);
00077 extern void GOMP_parallel_loop_runtime_start (void (*)(void *), void *,
00078                           unsigned, long, long, long);
00079 
00080 extern void GOMP_loop_end (void);
00081 extern void GOMP_loop_end_nowait (void);
00082 
00083 /* loop_ull.c */
00084 
00085 extern bool GOMP_loop_ull_static_start (bool, unsigned long long,
00086                     unsigned long long,
00087                     unsigned long long,
00088                     unsigned long long,
00089                     unsigned long long *,
00090                     unsigned long long *);
00091 extern bool GOMP_loop_ull_dynamic_start (bool, unsigned long long,
00092                      unsigned long long,
00093                      unsigned long long,
00094                      unsigned long long,
00095                      unsigned long long *,
00096                      unsigned long long *);
00097 extern bool GOMP_loop_ull_guided_start (bool, unsigned long long,
00098                     unsigned long long,
00099                     unsigned long long,
00100                     unsigned long long,
00101                     unsigned long long *,
00102                     unsigned long long *);
00103 extern bool GOMP_loop_ull_runtime_start (bool, unsigned long long,
00104                      unsigned long long,
00105                      unsigned long long,
00106                      unsigned long long *,
00107                      unsigned long long *);
00108 
00109 extern bool GOMP_loop_ull_ordered_static_start (bool, unsigned long long,
00110                         unsigned long long,
00111                         unsigned long long,
00112                         unsigned long long,
00113                         unsigned long long *,
00114                         unsigned long long *);
00115 extern bool GOMP_loop_ull_ordered_dynamic_start (bool, unsigned long long,
00116                          unsigned long long,
00117                          unsigned long long,
00118                          unsigned long long,
00119                          unsigned long long *,
00120                          unsigned long long *);
00121 extern bool GOMP_loop_ull_ordered_guided_start (bool, unsigned long long,
00122                         unsigned long long,
00123                         unsigned long long,
00124                         unsigned long long,
00125                         unsigned long long *,
00126                         unsigned long long *);
00127 extern bool GOMP_loop_ull_ordered_runtime_start (bool, unsigned long long,
00128                          unsigned long long,
00129                          unsigned long long,
00130                          unsigned long long *,
00131                          unsigned long long *);
00132 
00133 extern bool GOMP_loop_ull_static_next (unsigned long long *,
00134                        unsigned long long *);
00135 extern bool GOMP_loop_ull_dynamic_next (unsigned long long *,
00136                     unsigned long long *);
00137 extern bool GOMP_loop_ull_guided_next (unsigned long long *,
00138                        unsigned long long *);
00139 extern bool GOMP_loop_ull_runtime_next (unsigned long long *,
00140                     unsigned long long *);
00141 
00142 extern bool GOMP_loop_ull_ordered_static_next (unsigned long long *,
00143                            unsigned long long *);
00144 extern bool GOMP_loop_ull_ordered_dynamic_next (unsigned long long *,
00145                         unsigned long long *);
00146 extern bool GOMP_loop_ull_ordered_guided_next (unsigned long long *,
00147                            unsigned long long *);
00148 extern bool GOMP_loop_ull_ordered_runtime_next (unsigned long long *,
00149                         unsigned long long *);
00150 
00151 /* ordered.c */
00152 
00153 extern void GOMP_ordered_start (void);
00154 extern void GOMP_ordered_end (void);
00155 
00156 /* parallel.c */
00157 
00158 extern void GOMP_parallel_start (void (*) (void *), void *, unsigned);
00159 extern void GOMP_parallel_end (void);
00160 
00161 /* team.c */
00162 
00163 extern void GOMP_task (void (*) (void *), void *, void (*) (void *, void *),
00164                long, long, bool, unsigned);
00165 extern void GOMP_taskwait (void);
00166 
00167 /* sections.c */
00168 
00169 extern unsigned GOMP_sections_start (unsigned);
00170 extern unsigned GOMP_sections_next (void);
00171 extern void GOMP_parallel_sections_start (void (*) (void *), void *,
00172                       unsigned, unsigned);
00173 extern void GOMP_sections_end (void);
00174 extern void GOMP_sections_end_nowait (void);
00175 
00176 /* single.c */
00177 
00178 extern bool GOMP_single_start (void);
00179 extern void *GOMP_single_copy_start (void);
00180 extern void GOMP_single_copy_end (void *);
00181 
00182 #endif /* LIBGOMP_G_H */

Generated on Fri Apr 5 05:38:10 2013 for Libgomp by  doxygen 1.4.7