public static extern int open( [MarshalAs(UnmanagedType.LPUTF8Str)] string pathname, oflag flags );
public static extern int openat( int dirfd, [MarshalAs(UnmanagedType.LPUTF8Str)] string pathname, oflag flags, uint mode );
public static extern int open( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8Marshaler))] string filename, oflag oflag);