1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6 #ifndef _UNISTD_H
7 #define _UNISTD_H
8 #define __UNISTD_H_SOURCED__ 1
9
10 #include <io.h>
11 #include <process.h>
12 #include <getopt.h>
13
14 /* These are also defined in stdio.h. */
15 #ifndef SEEK_SET
16 #define SEEK_SET 0
17 #define SEEK_CUR 1
18 #define SEEK_END 2
19 #endif
20
21 /* These are also defined in stdio.h. */
22 #ifndef STDIN_FILENO
23 #define STDIN_FILENO 0
24 #define STDOUT_FILENO 1
25 #define STDERR_FILENO 2
26 #endif
27
28 /* Used by shutdown(2). */
29 #ifdef _POSIX_SOURCE
30
31 /* MySql connector already defined SHUT_RDWR. */
32 #ifndef SHUT_RDWR
33 #define SHUT_RD 0x00
34 #define SHUT_WR 0x01
35 #define SHUT_RDWR 0x02
36 #endif
37
38 #endif
39
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43
44 #pragma push_macro("sleep")
45 #undef sleep
46 unsigned int __cdecl sleep (unsigned int);
47 #pragma pop_macro("sleep")
48
49 #if !defined __NO_ISOCEXT
50 #include <sys/types.h> /* For useconds_t. */
51
52 int __cdecl __MINGW_NOTHROW usleep(useconds_t);
53 #endif /* Not __NO_ISOCEXT */
54
55 #ifndef FTRUNCATE_DEFINED
56 #define FTRUNCATE_DEFINED
57 /* This is defined as a real library function to allow autoconf
58 to verify its existence. */
59 #if !defined(NO_OLDNAMES) || defined(_POSIX)
60 int ftruncate(int, off32_t);
61 int ftruncate64(int, off64_t);
62 int truncate(const char *, off32_t);
63 int truncate64(const char *, off64_t);
64 #ifndef __CRT__NO_INLINE
ftruncate(int __fd,off32_t __length)65 __CRT_INLINE int ftruncate(int __fd, off32_t __length)
66 {
67 return _chsize (__fd, __length);
68 }
69 #endif /* !__CRT__NO_INLINE */
70 #else
71 int ftruncate(int, _off_t);
72 int ftruncate64(int, _off64_t);
73 int truncate(const char *, _off_t);
74 int truncate64(const char *, _off64_t);
75 #ifndef __CRT__NO_INLINE
ftruncate(int __fd,_off_t __length)76 __CRT_INLINE int ftruncate(int __fd, _off_t __length)
77 {
78 return _chsize (__fd, __length);
79 }
80 #endif /* !__CRT__NO_INLINE */
81 #endif
82 #endif /* FTRUNCATE_DEFINED */
83
84 #ifndef _FILE_OFFSET_BITS_SET_FTRUNCATE
85 #define _FILE_OFFSET_BITS_SET_FTRUNCATE
86 #if (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64))
87 #define ftruncate ftruncate64
88 #endif /* _FILE_OFFSET_BITS_SET_FTRUNCATE */
89 #endif /* _FILE_OFFSET_BITS_SET_FTRUNCATE */
90
91 #ifndef _CRT_SWAB_DEFINED
92 #define _CRT_SWAB_DEFINED /* Also in stdlib.h */
93 void __cdecl swab(char *_Buf1,char *_Buf2,int _SizeInBytes) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
94 #endif
95
96 #ifndef _CRT_GETPID_DEFINED
97 #define _CRT_GETPID_DEFINED /* Also in process.h */
98 int __cdecl getpid(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
99 #endif
100
101 #ifdef __cplusplus
102 }
103 #endif
104
105 #include <pthread_unistd.h>
106
107 #undef __UNISTD_H_SOURCED__
108 #endif /* _UNISTD_H */
109
110