Mono Class Library: Mono.Unix.Native.NativeConvert Overview | Members

Mono.Unix.Native.NativeConvert.FromUnixPermissionString Method

Converts a unix permission representation of a Mono.Unix.Native.FilePermissions into a Mono.Unix.Native.FilePermissions. [Edit]

public static FilePermissions FromUnixPermissionString (string value)

Parameters

value
The unix permission representation of a Mono.Unix.Native.FilePermissions value. [Edit]

Returns

The converted Mono.Unix.Native.FilePermissions. [Edit]

Remarks

A "Unix permission string" is the 9 or 10 character string commonly seen in the output of ls -l, e.g. "-rwxr-x---".

This method makes it easier to create a Mono.Unix.Native.FilePermissions value, allowing the use of common Unix permission notation.

Both 9 and 10 character representations are decoded, the difference being the file type.

C# Example
using System;
using Mono.Unix.Native;

class Test
{
	public static void Main(string[] args)
	{
		// All statement pairs are equivalent.

		// Note: 9 character string -- file type not set
		FilePermissions simple1 = NativeConvert.FromUnixPermissionString ("rw-r--r--");
		FilePermissions annoying1 = 
			FilePermissions.S_IRUSR | FilePermissions.S_IWUSR | 
			FilePermissions.S_IRGRP | 
			FilePermissions.S_IROTH;

		// Note: 10 character string -- regular file specified
		FilePermissions simple2 = NativeConvert.FromUnixPermissionString ("----------");
		FilePermissions annoying2 = FilePermissions.S_IFREG;

		// Note: 10 character string -- directory with all access permissions specified
		FilePermissions simple3 = NativeConvert.FromUnixPermissionString ("drwxrwxrwx");
		FilePermissions annoying3 = FilePermissions.S_IFDIR |
			FilePermissions.ACCESSPERMS;
	}
}
  
[Edit]

Requirements

Namespace: Mono.Unix.Native
Assembly: Mono.Posix (in Mono.Posix.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0