Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef _SCHED_H
00040 #define _SCHED_H
00041
00042 #undef PTW32_LEVEL
00043
00044 #if defined(_POSIX_SOURCE)
00045 #define PTW32_LEVEL 0
00046
00047 #endif
00048
00049 #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309
00050 #undef PTW32_LEVEL
00051 #define PTW32_LEVEL 1
00052
00053 #endif
00054
00055 #if defined(INCLUDE_NP)
00056 #undef PTW32_LEVEL
00057 #define PTW32_LEVEL 2
00058
00059 #endif
00060
00061 #define PTW32_LEVEL_MAX 3
00062
00063 #if !defined(PTW32_LEVEL)
00064 #define PTW32_LEVEL PTW32_LEVEL_MAX
00065
00066 #endif
00067
00068
00069 #if __GNUC__ && ! defined (__declspec)
00070 # error Please upgrade your GNU compiler to one that supports __declspec.
00071 #endif
00072
00073
00074
00075
00076
00077
00078
00079 #ifndef PTW32_STATIC_LIB
00080 # ifdef PTW32_BUILD
00081 # define PTW32_DLLPORT __declspec (dllexport)
00082 # else
00083 # define PTW32_DLLPORT __declspec (dllimport)
00084 # endif
00085 #else
00086 # define PTW32_DLLPORT
00087 #endif
00088
00089
00090
00091
00092
00093
00094 #ifndef PTW32_CONFIG_H
00095 # if defined(WINCE)
00096 # define NEED_ERRNO
00097 # define NEED_SEM
00098 # endif
00099 # if defined(_UWIN) || defined(__MINGW32__)
00100 # define HAVE_MODE_T
00101 # endif
00102 #endif
00103
00104
00105
00106
00107
00108 #if PTW32_LEVEL >= PTW32_LEVEL_MAX
00109 #ifdef NEED_ERRNO
00110 #include "need_errno.h"
00111 #else
00112 #include <errno.h>
00113 #endif
00114 #endif
00115
00116 #if defined(__MINGW32__) || defined(_UWIN)
00117 #if PTW32_LEVEL >= PTW32_LEVEL_MAX
00118
00119 # include <sys/types.h>
00120
00121 # include <time.h>
00122 #endif
00123 #else
00124 typedef int pid_t;
00125 #endif
00126
00127
00128
00129 enum {
00130 SCHED_OTHER = 0,
00131 SCHED_FIFO,
00132 SCHED_RR,
00133 SCHED_MIN = SCHED_OTHER,
00134 SCHED_MAX = SCHED_RR
00135 };
00136
00137 struct sched_param {
00138 int sched_priority;
00139 };
00140
00141 #ifdef __cplusplus
00142 extern "C"
00143 {
00144 #endif
00145
00146 PTW32_DLLPORT int __cdecl sched_yield (void);
00147
00148 PTW32_DLLPORT int __cdecl sched_get_priority_min (int policy);
00149
00150 PTW32_DLLPORT int __cdecl sched_get_priority_max (int policy);
00151
00152 PTW32_DLLPORT int __cdecl sched_setscheduler (pid_t pid, int policy);
00153
00154 PTW32_DLLPORT int __cdecl sched_getscheduler (pid_t pid);
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166 #define sched_rr_get_interval(_pid, _interval) \
00167 ( errno = ENOTSUP, (int) -1 )
00168
00169
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173
00174 #undef PTW32_LEVEL
00175 #undef PTW32_LEVEL_MAX
00176
00177 #endif
00178