Xenomai API  2.6.5
unistd.h
1 /*
2  * Copyright (C) 2005 Philippe Gerum <[email protected]>.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17  */
18 
19 #ifndef _XENO_POSIX_UNISTD_H
20 #define _XENO_POSIX_UNISTD_H
21 
22 #if defined(__KERNEL__) || defined(__XENO_SIM__)
23 
24 #include <nucleus/xenomai.h>
25 
26 #ifdef __KERNEL__
27 #include <linux/types.h>
28 #endif /* __KERNEL__ */
29 
30 #ifdef __XENO_SIM__
31 #include <posix_overrides.h>
32 #endif /* __XENO_SIM__ */
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 #undef close
39 #define close pse51_shm_close
40 
41 int pse51_shm_close(int fildes);
42 
43 int ftruncate(int fildes, off_t length);
44 
45 #ifdef __cplusplus
46 }
47 #endif
48 
49 #else /* !(__KERNEL__ || __XENO_SIM__) */
50 
51 #pragma GCC system_header
52 
53 #include_next <unistd.h>
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 int __real_ftruncate(int fildes, long length);
60 
61 #if defined(_LARGEFILE64_SOURCE) \
62  || defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
63 int __real_ftruncate64(int fildes, long long length);
64 #endif
65 
66 #if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
67 #define __real_ftruncate __real_ftruncate64
68 #endif
69 
70 ssize_t __real_read(int fd, void *buf, size_t nbyte);
71 
72 ssize_t __real_write(int fd, const void *buf, size_t nbyte);
73 
74 int __real_close(int fildes);
75 
76 #ifdef __cplusplus
77 }
78 #endif
79 
80 #endif /* !(__KERNEL__ || __XENO_SIM__) */
81 
82 #endif /* _XENO_POSIX_UNISTD_H */
int ftruncate(int fildes, off_t length)
Truncate a file or shared memory object to a specified length.
Definition: shm.c:462