source: rtems/c/src/lib/libc/access.c @ dfe5faf8

4.104.114.84.95
Last change on this file since dfe5faf8 was 9c49db4, checked in by Joel Sherrill <joel.sherrill@…>, on 01/08/01 at 18:26:44

2001-01-08 Ralf Corsepius <corsepiu@…>

  • configure.in: Add libc/config.h
  • libc/Makefile.am: Add INCLUDES += -I. to pickup config.h
  • libc/.cvsignore: Add config.h and stamp-h
  • libc/*.c: Add config.h support.
  • Property mode set to 100644
File size: 840 bytes
Line 
1/*
2 *  access() - POSIX 1003.1b 5.6.3 - File Accessibility
3 *
4 *  COPYRIGHT (c) 1989-1999.
5 *  On-Line Applications Research Corporation (OAR).
6 *
7 *  The license and distribution terms for this file may be
8 *  found in the file LICENSE in this distribution or at
9 *  http://www.OARcorp.com/rtems/license.html.
10 *
11 *  $Id$
12 */
13
14#if HAVE_CONFIG_H
15#include "config.h"
16#endif
17
18#include <unistd.h>
19#include <fcntl.h>
20#include <sys/stat.h>
21
22int access(
23  const char *path,
24  int         amode
25)
26{
27  struct stat statbuf;
28
29  if ( stat(path, &statbuf) )
30    return -1;
31
32  if ( amode & R_OK ) {
33    if (!( statbuf.st_mode & S_IREAD ))
34      return -1;
35  }
36
37  if ( amode & W_OK ) {
38    if ( !( statbuf.st_mode & S_IWRITE ) )
39      return -1;
40  }
41
42  if ( amode & X_OK ) {
43    if ( !( statbuf.st_mode & S_IEXEC ) )
44      return -1;
45  }
46
47  return 0;
48}
49
Note: See TracBrowser for help on using the repository browser.