Mono Class Library: Mono.Unix.Native Namespace

Mono.Unix.Native.NativeConvert Class

Performs conversions between managed and unmanaged enumeration values. [Edit]

See Also: NativeConvert Members

[System.CLSCompliant(false)]
public sealed class NativeConvert

Thread Safety

All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.

Remarks

Different operating systems give different values to the same identifier. For example, SIGBUS is 10 under FreeBSD, while it's 7 for x86 Linux. Meanwhile, Signum.SIGBUS will have the same value everywhere. Since it is undesirable to require recompilation for every target platform, the Mono.Unix.Native namespace instead exports a stable ABI, and provides conversion functions to convert between the managed and appropriate OS-specific values.

Normally this conversion is handled transparently by the wrapper functions, so members of this class shouldn't need to be used.

Note:

You cannot blindly cast a value to an enumeration without sacrificing portability, as the platform may not support the value you want.

[Edit]

Requirements

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