OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.18.0/] [libgloss/] [or32/] [fstat.c] - Blame information for rev 507

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 207 jeremybenn
/* fstat-uart.c. Implementation of the _fstat syscall for newlib with UART
2
 
3
   Copyright (C) 2004, Jacob Bower
4
   Copyright (C) 2010, Embecosm Limited <info@embecosm.com>
5
 
6
   Contributor Jeremy Bennett <jeremy.bennett@embecosm.com>
7
 
8
   This file is part of Newlib.
9
 
10
   The original work by Jacob Bower is provided as-is without any kind of
11
   warranty. Use it at your own risk!
12
 
13
   All subsequent work is bound by version 3 of the GPL as follows.
14
 
15
   This program is free software; you can redistribute it and/or modify it
16
   under the terms of the GNU General Public License as published by the Free
17
   Software Foundation; either version 3 of the License, or (at your option)
18
   any later version.
19
 
20
   This program is distributed in the hope that it will be useful, but WITHOUT
21
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
23
   more details.
24
 
25
   You should have received a copy of the GNU General Public License along
26
   with this program.  If not, see <http:#www.gnu.org/licenses/>.             */
27
/* -------------------------------------------------------------------------- */
28
/* This program is commented throughout in a fashion suitable for processing
29
   with Doxygen.                                                              */
30
/* -------------------------------------------------------------------------- */
31
 
32
#include <errno.h>
33
#include <sys/stat.h>
34
#include <unistd.h>
35
 
36 507 julius
#include "or1k-support.h"
37 207 jeremybenn
 
38
#undef errno
39
extern int  errno;
40
 
41
 
42
/* -------------------------------------------------------------------------- */
43
/*!Status of an open file when using a UART
44
 
45
   We only know about stdin, stdout and stderr, and treat these as character
46
   special files. All other files are erroneous.
47
 
48
   Remember that this function is *not* reentrant, so no static state should
49
   be held.
50
 
51
   @return  0 on success, with the struct stat appropriately updated. -1 on
52
            failure, with an error code in the global variable errno.         */
53
/* -------------------------------------------------------------------------- */
54
int
55
_fstat (int          file,
56
        struct stat *st)
57
{
58 507 julius
  if ((BOARD_HAS_UART && (STDIN_FILENO  == file)) ||
59 207 jeremybenn
      (STDERR_FILENO == file) ||
60
      (STDOUT_FILENO == file))
61
    {
62
      st->st_mode = S_IFCHR;
63
      return  0;
64
    }
65
  else
66
    {
67
      errno = EBADF;
68
      return  -1;
69
    }
70
}       /* _fstat () */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.