ACCESS.2
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:3k
源码类别:
操作系统开发
开发平台:
C/C++
- ." Copyright (c) 1980 Regents of the University of California.
- ." All rights reserved. The Berkeley software License Agreement
- ." specifies the terms and conditions for redistribution.
- ."
- ." @(#)access.2 6.5 (Berkeley) 5/22/86
- ."
- .TH ACCESS 2 "May 22, 1986"
- .UC 4
- .SH NAME
- access - determine accessibility of file
- .SH SYNOPSIS
- .ft B
- .nf
- #include <sys/types.h>
- #include <unistd.h>
- .PP
- .ft B
- .ta 1.25i 1.6i
- .nf
- #define R_OK 4 /* test for read permission */
- #define W_OK 2 /* test for write permission */
- #define X_OK 1 /* test for execute (search) permission */
- #define F_OK 0 /* test for presence of file */
- .PP
- .ft B
- .nf
- int access(const char *fIpathfP, mode_t fImodefP)
- .ft R
- .fi
- .SH DESCRIPTION
- .B Access
- checks the given
- file
- .I path
- for accessibility according to
- .IR mode ,
- which is an inclusive or of the bits
- .BR R_OK ,
- .BR W_OK
- and
- .BR X_OK .
- Specifying
- .I mode
- as
- .B F_OK
- (i.e., 0)
- tests whether the directories leading to the file can be
- searched and the file exists.
- .PP
- The real user ID and the group access list
- (including the real group ID) are
- used in verifying permission, so this call
- is useful to set-UID programs.
- .PP
- Notice that only access bits are checked.
- A directory may be indicated as writable by
- .BR access ,
- but an attempt to open it for writing will fail
- (although files may be created there);
- a file may look executable, but
- .B execve
- will fail unless it is in proper format.
- .SH "RETURN VALUE
- If
- .I path
- cannot be found or if any of the desired access modes would
- not be granted, then a -1 value is returned; otherwise
- a 0 value is returned.
- .SH "ERRORS
- Access to the file is denied if one or more of the following are true:
- .TP 15
- [ENOTDIR]
- A component of the path prefix is not a directory.
- .TP 15
- [ENAMETOOLONG]
- The path name exceeds PATH_MAX characters.
- .TP 15
- [ENOENT]
- The named file does not exist.
- .TP 15
- [EACCES]
- Search permission is denied for a component of the path prefix.
- .TP 15
- [ELOOP]
- Too many symbolic links were encountered in translating the pathname.
- (Minix-vmd)
- .TP 15
- [EROFS]
- Write access is requested for a file on a read-only file system.
- .TP 15
- [EACCES]
- Permission bits of the file mode do not permit the requested
- access, or search permission is denied on a component of the
- path prefix. The owner of a file has permission checked with
- respect to the ``owner'' read, write, and execute mode bits,
- members of the file's group other than the owner have permission
- checked with respect to the ``group'' mode bits, and all
- others have permissions checked with respect to the ``other''
- mode bits.
- .TP 15
- [EFAULT]
- .I Path
- points outside the process's allocated address space.
- .TP 15
- [EIO]
- An I/O error occurred while reading from or writing to the file system.
- .SH "SEE ALSO
- .BR chmod (2),
- .BR stat (2).