1 /* $Id: access.c,v 1.3 2002/10/29 04:45:46 rex Exp $
4 * COPYRIGHT: See COPYING in the top level directory
5 * PROJECT: ReactOS POSIX+ Subsystem
6 * FILE: subsys/psx/lib/psxdll/unistd/access.c
7 * PURPOSE: Determine accessibility of a file
8 * PROGRAMMER: KJK::Hyperion <noog@libero.it>
13 #include <ddk/ntddk.h>
16 #include <psx/errno.h>
18 int access(const char *path
, int amode
)
20 OBJECT_ATTRIBUTES oaFileAttribs
;
21 IO_STATUS_BLOCK isbStatus
;
22 ACCESS_MASK amDesiredAccess
= 0;
28 if(amode
&& R_OK
) amDesiredAccess
|= GENERIC_READ
;
29 if(amode
&& W_OK
) amDesiredAccess
|= GENERIC_WRITE
;
30 if(amode
&& X_OK
) amDesiredAccess
|= GENERIC_EXECUTE
;
33 nErrCode
= NtCreateFile
41 FILE_SHARE_READ
| FILE_SHARE_WRITE
| FILE_SHARE_DELETE
,
48 if(NT_SUCCESS(nErrCode
))
54 errno
= __status_to_errno(nErrCode
);