Provided by: tcl8.4-doc_8.4.20-7_all bug

NAME

       Tcl_Access, Tcl_Stat - check file permissions and other attributes

SYNOPSIS

       #include <tcl.h>

       int
       Tcl_Access(path, mode)

       int
       Tcl_Stat(path, statPtr)

ARGUMENTS

       char          *path      (in)      Native name of the file to check the attributes of.

       int           mode       (in)      Mask  consisting  of  one or more of R_OK, W_OK, X_OK and F_OK.  R_OK,
                                          W_OK and X_OK request checking whether the file exists and  has  read,
                                          write and  execute  permissions,  respectively.   F_OK  just  requests
                                          checking for the existence of the file.

       struct stat   *statPtr   (out)     The structure that contains the result.
_________________________________________________________________

DESCRIPTION

       As  of  Tcl  8.4,  the  object-based  APIs  Tcl_FSAccess  and  Tcl_FSStat should be used in preference to
       Tcl_Access and Tcl_Stat, wherever possible.

       There are two reasons for calling Tcl_Access and Tcl_Stat rather  than  calling  system  level  functions
       access  and  stat  directly.   First, the Windows implementation of both functions fixes some bugs in the
       system level calls.  Second, both Tcl_Access and Tcl_Stat (as well as Tcl_OpenFileChannelProc) hook  into
       a  linked  list of functions.  This allows the possibility to reroute file access to alternative media or
       access methods.

       Tcl_Access checks whether the process would be allowed to read, write or test for existence of  the  file
       (or  other  file  system  object)  whose name is pathname.   If pathname is a symbolic link on Unix, then
       permissions of the file referred by this symbolic link are tested.

       On success (all requested permissions granted), zero is returned.  On error (at least  one  bit  in  mode
       asked for a permission that is denied, or some other  error occurred), -1 is returned.

       Tcl_Stat fills the stat structure statPtr with information about the specified file.  You do not need any
       access  rights to the file to get this information but you need search rights to all directories named in
       the path leading to the file.  The stat structure includes info regarding  device,  inode  (always  0  on
       Windows),  privilege mode, nlink (always 1 on Windows), user id (always 0 on Windows), group id (always 0
       on Windows), rdev (same as device on Windows), size,  last  access  time,  last  modification  time,  and
       creation time.

       If  path  exists,  Tcl_Stat  returns  0  and  the  stat  structure is filled with data.  Otherwise, -1 is
       returned, and no stat info is given.

KEYWORDS

       stat, access

Tcl                                                    8.1                                      Tcl_Access(3tcl)