source: rtems/c/src/lib/libc/syscalls.c @ c6126e57

4.104.114.84.95
Last change on this file since c6126e57 was c6126e57, checked in by Joel Sherrill <joel.sherrill@…>, on Jan 8, 1997 at 4:21:38 PM

removed assert() for stat on non-devices. Now it returns -1. This
makes gnat pass about 55 more tests in the acvc.

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