* dir.cc (mkdir): Check path for writability. (rmdir): Ditto. Remove check for special directories. * path.cc (path_conv::check): Set PATH_RO for virtual devices. Set error if read-only and asked for writability. * path.h (pathconv_arg): Add PC_WRITABLE. (path_types): Add PATH_RO. (path_conv::isro): Add (currently unused) check for read-only filesystem. Return "ENOSHARE" when we know a share doesn't exist. * include/sys/mount.h: Add MOUNT_RO flag. * autoload.cc (WNetGetResourceInformationA): Import. * fhandler_netdrive.cc (fhandler_netdrive::exists): Detect actual existence of remote system rather than always assuming that it exists.
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* sys/mount.h
 | 
						|
 | 
						|
   Copyright 1998, 1999, 2000, 2001 Red Hat, Inc.
 | 
						|
 | 
						|
This file is part of Cygwin.
 | 
						|
 | 
						|
This software is a copyrighted work licensed under the terms of the
 | 
						|
Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 | 
						|
details. */
 | 
						|
 | 
						|
#ifndef _SYS_MOUNT_H
 | 
						|
#define _SYS_MOUNT_H
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
enum
 | 
						|
{
 | 
						|
  MOUNT_SYMLINK =	0x0001,	/* "mount point" is a symlink */
 | 
						|
  MOUNT_BINARY =	0x0002,	/* "binary" format read/writes */
 | 
						|
  MOUNT_SYSTEM =	0x0008,	/* mount point came from system table */
 | 
						|
  MOUNT_EXEC   =	0x0010,	/* Any file in the mounted directory gets 'x' bit */
 | 
						|
  MOUNT_CYGDRIVE   =	0x0020,	/* mount point refers to cygdrive device mount */
 | 
						|
  MOUNT_CYGWIN_EXEC =	0x0040,	/* file or directory is or contains a cygwin
 | 
						|
				   executable */
 | 
						|
  MOUNT_MIXED	=	0x0080,	/* reads are text, writes are binary
 | 
						|
				   not yet implemented */
 | 
						|
  MOUNT_NOTEXEC =	0x0100,	/* don't check files for executable magic */
 | 
						|
  MOUNT_DEVFS =		0x0200,	/* /device "filesystem" */
 | 
						|
  MOUNT_PROC =		0x0400,	/* /proc "filesystem" */
 | 
						|
  MOUNT_ENC =		0x0800,	/* encode special characters */
 | 
						|
  MOUNT_RO =		0x1000  /* read-only "filesystem" */
 | 
						|
};
 | 
						|
 | 
						|
int mount (const char *, const char *, unsigned __flags);
 | 
						|
int umount (const char *);
 | 
						|
int cygwin_umount (const char *__path, unsigned __flags);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
};
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* _SYS_MOUNT_H */
 |