1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#if !defined(RTEMS_UNIX)
/*
* RTEMS Fake System Calls
*
* This file contains "fake" versions of the system call routines
* which are reference by many libc implementations. Once a routine
* has been implemented in terms of RTEMS services, it should be
* taken out of this file.
*
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
* On-Line Applications Research Corporation (OAR).
* All rights assigned to U.S. Government, 1994.
*
* This material may be reproduced by or for the U.S. Government pursuant
* to the copyright license under the clause at DFARS 252.227-7013. This
* notice must appear in all copies of this file and its derivatives.
*
* $Id$
*
*/
#include <sys/types.h>
#include <sys/stat.h>
/*
* check this newlib bug?:
*
* newlib/libc/stdio/makebuf.c:
*
* 2nd ifdef uses 1024 instead of BUFSIZ
* 2nd check lets fp blksize be 0
* finally look at the malloc
*/
/*
* fstat, stat, and isatty must lie consistently and report that everything
* is a tty or stdout will not be line buffered.
*/
int __fstat(int _fd, struct stat* _sbuf)
{
_sbuf->st_mode = S_IFCHR;
#ifdef HAVE_BLKSIZE
_sbuf->st_blksize = 0;
#endif
return 0;
}
int __isatty(int _fd)
{
return 1;
}
int stat( const char *path, struct stat *buf )
{
return __fstat( 0, buf );
}
int link( const char *existing, const char *new )
{
/* always fail */
return -1;
}
int unlink( const char *path )
{
/* always fail */
return -1;
}
#endif
|