00001 /* 00002 * include/40/iomp.h.var 00003 * $Revision: 41674 $ 00004 * $Date: 2012-06-05 08:33:35 -0500 (Tue, 05 Jun 2012) $ 00005 */ 00006 00007 /* <copyright> 00008 Copyright (c) 1985-2013 Intel Corporation. All Rights Reserved. 00009 00010 Redistribution and use in source and binary forms, with or without 00011 modification, are permitted provided that the following conditions 00012 are met: 00013 00014 * Redistributions of source code must retain the above copyright 00015 notice, this list of conditions and the following disclaimer. 00016 * Redistributions in binary form must reproduce the above copyright 00017 notice, this list of conditions and the following disclaimer in the 00018 documentation and/or other materials provided with the distribution. 00019 * Neither the name of Intel Corporation nor the names of its 00020 contributors may be used to endorse or promote products derived 00021 from this software without specific prior written permission. 00022 00023 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00024 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00025 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00026 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00027 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00028 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00029 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00030 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00031 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00032 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00033 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00034 00035 00036 ------------------------------------------------------------------------ 00037 00038 Portions of this software are protected under the following patents: 00039 U.S. Patent 5,812,852 00040 U.S. Patent 6,792,599 00041 U.S. Patent 7,069,556 00042 U.S. Patent 7,328,433 00043 U.S. Patent 7,500,242 00044 00045 </copyright> */ 00046 00047 #ifndef __IOMP_H 00048 # define __IOMP_H 00049 00050 # define KMP_VERSION_MAJOR 5 00051 # define KMP_VERSION_MINOR 0 00052 # define KMP_VERSION_BUILD 00000000 00053 # define KMP_BUILD_DATE "2013-08-22 22:37:59 UTC" 00054 00055 # ifdef __cplusplus 00056 extern "C" { 00057 # endif 00058 00059 # define kmp_set_stacksize kmpc_set_stacksize 00060 # define kmp_set_stacksize_s kmpc_set_stacksize_s 00061 # define kmp_set_blocktime kmpc_set_blocktime 00062 # define kmp_set_library kmpc_set_library 00063 # define kmp_set_defaults kmpc_set_defaults 00064 # define kmp_set_affinity_mask_proc kmpc_set_affinity_mask_proc 00065 # define kmp_unset_affinity_mask_proc kmpc_unset_affinity_mask_proc 00066 # define kmp_get_affinity_mask_proc kmpc_get_affinity_mask_proc 00067 00068 # define kmp_malloc kmpc_malloc 00069 # define kmp_calloc kmpc_calloc 00070 # define kmp_realloc kmpc_realloc 00071 # define kmp_free kmpc_free 00072 00073 # if defined(_WIN32) 00074 # define __KAI_KMPC_CONVENTION __cdecl 00075 # else 00076 # define __KAI_KMPC_CONVENTION 00077 # endif 00078 00079 # include <stdlib.h> 00080 /* kmp API functions */ 00081 extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void); 00082 extern void __KAI_KMPC_CONVENTION kmp_set_stacksize (int); 00083 extern size_t __KAI_KMPC_CONVENTION kmp_get_stacksize_s (void); 00084 extern void __KAI_KMPC_CONVENTION kmp_set_stacksize_s (size_t); 00085 extern int __KAI_KMPC_CONVENTION kmp_get_blocktime (void); 00086 extern int __KAI_KMPC_CONVENTION kmp_get_library (void); 00087 extern void __KAI_KMPC_CONVENTION kmp_set_blocktime (int); 00088 extern void __KAI_KMPC_CONVENTION kmp_set_library (int); 00089 extern void __KAI_KMPC_CONVENTION kmp_set_library_serial (void); 00090 extern void __KAI_KMPC_CONVENTION kmp_set_library_turnaround (void); 00091 extern void __KAI_KMPC_CONVENTION kmp_set_library_throughput (void); 00092 extern void __KAI_KMPC_CONVENTION kmp_set_defaults (char const *); 00093 00094 /* affinity API functions */ 00095 typedef void * kmp_affinity_mask_t; 00096 00097 extern int __KAI_KMPC_CONVENTION kmp_set_affinity (kmp_affinity_mask_t *); 00098 extern int __KAI_KMPC_CONVENTION kmp_get_affinity (kmp_affinity_mask_t *); 00099 extern int __KAI_KMPC_CONVENTION kmp_get_affinity_max_proc (void); 00100 extern void __KAI_KMPC_CONVENTION kmp_create_affinity_mask (kmp_affinity_mask_t *); 00101 extern void __KAI_KMPC_CONVENTION kmp_destroy_affinity_mask (kmp_affinity_mask_t *); 00102 extern int __KAI_KMPC_CONVENTION kmp_set_affinity_mask_proc (int, kmp_affinity_mask_t *); 00103 extern int __KAI_KMPC_CONVENTION kmp_unset_affinity_mask_proc (int, kmp_affinity_mask_t *); 00104 extern int __KAI_KMPC_CONVENTION kmp_get_affinity_mask_proc (int, kmp_affinity_mask_t *); 00105 00106 extern void * __KAI_KMPC_CONVENTION kmp_malloc (size_t); 00107 extern void * __KAI_KMPC_CONVENTION kmp_calloc (size_t, size_t); 00108 extern void * __KAI_KMPC_CONVENTION kmp_realloc (void *, size_t); 00109 extern void __KAI_KMPC_CONVENTION kmp_free (void *); 00110 00111 extern void __KAI_KMPC_CONVENTION kmp_set_warnings_on(void); 00112 extern void __KAI_KMPC_CONVENTION kmp_set_warnings_off(void); 00113 00114 # undef __KAI_KMPC_CONVENTION 00115 00116 /* Warning: 00117 The following typedefs are not standard, deprecated and will be removed in a future release. 00118 */ 00119 typedef int omp_int_t; 00120 typedef double omp_wtime_t; 00121 00122 # ifdef __cplusplus 00123 } 00124 # endif 00125 00126 #endif /* __IOMP_H */ 00127