{
private UnixFile () {}
+ [CLSCompliant (false)]
+ [Obsolete ("Use CanAccess(string, Mono.Unix.Native.AccessModes)")]
public static bool CanAccess (string path, AccessMode mode)
{
int r = Syscall.access (path, mode);
return r == 0;
}
+ [CLSCompliant (false)]
+ public static bool CanAccess (string path, Native.AccessModes mode)
+ {
+ int r = Native.Syscall.access (path, mode);
+ return r == 0;
+ }
+
public static void Delete (string path)
{
int r = Syscall.unlink (path);
return false;
}
+ [CLSCompliant (false)]
+ [Obsolete ("Use GetConfigurationValue(string, Mono.Unix.Native.PathConf)")]
public static long GetConfigurationValue (string path, PathConf name)
{
Syscall.SetLastError ((Error) 0);
return r;
}
+ [CLSCompliant (false)]
+ public static long GetConfigurationValue (string path, Native.PathConf name)
+ {
+ Native.Stdlib.SetLastError ((Native.Errno) 0);
+ long r = Native.Syscall.pathconf (path, name);
+ if (r == -1 && Native.Stdlib.GetLastError() != (Native.Errno) 0)
+ UnixMarshal.ThrowExceptionForLastError ();
+ return r;
+ }
+
public static DateTime GetLastAccessTime (string path)
{
return new UnixFileInfo (path).LastAccessTime;
return new UnixFileInfo (path).LastStatusChangeTime;
}
+ [CLSCompliant (false)]
+ [Obsolete ("Return Type will change in next release")]
public static FilePermissions GetPermissions (string path)
{
return new UnixFileInfo (path).Permissions;
return sb.ToString (0, r);
}
+ [CLSCompliant (false)]
+ [Obsolete("Use SetPermissions(string, Mono.Unix.Native.FilePermissions)")]
public static void SetPermissions (string path, FilePermissions perms)
{
int r = Syscall.chmod (path, perms);
UnixMarshal.ThrowExceptionForLastErrorIf (r);
}
+ [CLSCompliant (false)]
+ public static void SetPermissions (string path, Native.FilePermissions perms)
+ {
+ int r = Native.Syscall.chmod (path, perms);
+ UnixMarshal.ThrowExceptionForLastErrorIf (r);
+ }
+
public static UnixStream Create (string path)
{
FilePermissions mode = // 0644
return Create (path, mode);
}
+ [CLSCompliant (false)]
+ [Obsolete ("Use Create(string, Mono.Unix.Native.FilePermissions)")]
public static UnixStream Create (string path, FilePermissions mode)
{
int fd = Syscall.creat (path, mode);
return new UnixStream (fd);
}
+ [CLSCompliant (false)]
+ public static UnixStream Create (string path, Native.FilePermissions mode)
+ {
+ int fd = Native.Syscall.creat (path, mode);
+ if (fd < 0)
+ UnixMarshal.ThrowExceptionForLastError ();
+ return new UnixStream (fd);
+ }
+
public static UnixPipes CreatePipes ()
{
int reading, writing;
return new UnixPipes (new UnixStream (reading), new UnixStream (writing));
}
+ [CLSCompliant (false)]
+ [Obsolete ("Use Open(string, Mono.Unix.Native.OpenFlags)")]
public static UnixStream Open (string path, OpenFlags flags)
{
int fd = Syscall.open (path, flags);
return new UnixStream (fd);
}
+ [CLSCompliant (false)]
+ public static UnixStream Open (string path, Native.OpenFlags flags)
+ {
+ int fd = Native.Syscall.open (path, flags);
+ if (fd < 0)
+ UnixMarshal.ThrowExceptionForLastError ();
+ return new UnixStream (fd);
+ }
+
+ [CLSCompliant (false)]
+ [Obsolete ("Use Open(string, Mono.Unix.Native.OpenFlags, Mono.Unix.Native.FilePermissions)")]
public static UnixStream Open (string path, OpenFlags flags, FilePermissions mode)
{
int fd = Syscall.open (path, flags, mode);
return new UnixStream (fd);
}
+ [CLSCompliant (false)]
+ public static UnixStream Open (string path, Native.OpenFlags flags, Native.FilePermissions mode)
+ {
+ int fd = Native.Syscall.open (path, flags, mode);
+ if (fd < 0)
+ UnixMarshal.ThrowExceptionForLastError ();
+ return new UnixStream (fd);
+ }
+
public static UnixStream Open (string path, FileMode mode)
{
OpenFlags flags = UnixConvert.ToOpenFlags (mode, FileAccess.ReadWrite);
return new UnixStream (fd);
}
+ [CLSCompliant (false)]
+ [Obsolete ("Use Open(string, FileMode, FileAccess, Mono.Unix.Native.FilePermissions)")]
public static UnixStream Open (string path, FileMode mode, FileAccess access, FilePermissions perms)
{
OpenFlags flags = UnixConvert.ToOpenFlags (mode, access);
return new UnixStream (fd);
}
+ [CLSCompliant (false)]
+ public static UnixStream Open (string path, FileMode mode, FileAccess access, Native.FilePermissions perms)
+ {
+ Native.OpenFlags flags = Native.NativeConvert.ToOpenFlags (mode, access);
+ int fd = Native.Syscall.open (path, flags, perms);
+ if (fd < 0)
+ UnixMarshal.ThrowExceptionForLastError ();
+ return new UnixStream (fd);
+ }
+
public static UnixStream OpenRead (string path)
{
return Open (path, FileMode.Open, FileAccess.Read);
return Open (path, FileMode.OpenOrCreate, FileAccess.Write);
}
+ [CLSCompliant (false)]
public static void SetOwner (string path, uint owner, uint group)
{
int r = Syscall.chown (path, owner, group);
SetOwner (path, uid, gid);
}
+ [CLSCompliant (false)]
public static void SetLinkOwner (string path, uint owner, uint group)
{
int r = Syscall.lchown (path, owner, group);