source: rtems/c/src/lib/libc/syscalls.c @ 1019ae4

4.104.114.84.95
Last change on this file since 1019ae4 was 331d9e3b, checked in by Joel Sherrill <joel.sherrill@…>, on 11/08/96 at 20:08:52

Added asserts for unhandled conditions which need to result in error
statuses being returned to gnat runtime in order for it to raise
use_errors. This was needed to identify the places in gnat's runtime
which needed to be addressed.

  • Property mode set to 100644
File size: 1.5 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    puts( "stat -- non-devices not supported" );
54    assert( 0 );
55  }
56  return __fstat( 0, buf );
57}
58
59int link( const char *existing, const char *new )
60{
61  /* always fail */
62  return -1;
63}
64
65int unlink( const char *path )
66{
67  /* always fail */
68  return -1;
69}
70
71#endif
Note: See TracBrowser for help on using the repository browser.