Subversion Repositories Kolibri OS

Rev

Rev 4874 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
/*
2
 * Copyright (c) 1990 The Regents of the University of California.
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms are permitted
6
 * provided that the above copyright notice and this paragraph are
7
 * duplicated in all such forms and that any documentation,
8
 * advertising materials, and other materials related to such
9
 * distribution and use acknowledge that the software was developed
10
 * by the University of California, Berkeley.  The name of the
11
 * University may not be used to endorse or promote products derived
12
 * from this software without specific prior written permission.
13
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16
 */
17
 
18
/*
19
FUNCTION
20
<>---return file descriptor associated with stream
21
 
22
INDEX
23
	fileno
24
 
25
ANSI_SYNOPSIS
26
	#include 
27
	int fileno(FILE *<[fp]>);
28
 
29
TRAD_SYNOPSIS
30
	#include 
31
	int fileno(<[fp]>)
32
	FILE *<[fp]>;
33
 
34
DESCRIPTION
35
You can use <> to return the file descriptor identified by <[fp]>.
36
 
37
RETURNS
38
<> returns a non-negative integer when successful.
39
If <[fp]> is not an open stream, <> returns -1.
40
 
41
PORTABILITY
42
<> is not part of ANSI C.
43
POSIX requires <>.
44
 
45
Supporting OS subroutines required: none.
46
*/
47
 
48
#include <_ansi.h>
49
#include 
4921 Serge 50
#include 
4349 Serge 51
#include "local.h"
52
 
53
int
54
_DEFUN(fileno, (f),
55
       FILE * f)
56
{
57
  int result;
58
  CHECK_INIT (_REENT, f);
4921 Serge 59
  _newlib_flockfile_start (f);
60
  if (f->_flags)
4349 Serge 61
  result = __sfileno (f);
4921 Serge 62
  else
63
    {
64
      result = -1;
65
      _REENT->_errno = EBADF;
66
    }
67
  _newlib_flockfile_end (f);
4349 Serge 68
  return result;
69
}