[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009
Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!meta title="file_check_access"]]

    routine file_check_access (
    	file: file_t;
    	RPT
    	out allowed: int);

Find out what kind of access this file permits the current user (regardless of
the current open modes for this port).  `allowed` is a bitwise *or* of
`O_READ`, `O_WRITE`, and `O_EXEC`.  This is not necessarily the same as what an
`open` or `exec` would allow; `O_EXEC` is set for *root* even if no executable
bits are on (in which case [[`file_exec`|file_exec]] should fail) and `O_WRITE`
is set a directory can be modified, even though it can't be written directly.