Definitions: Mono 1.9 Date Submitted: 4/1/2008 7:04:22 AM Comments: Started working on Mono version (for Linux) of our server product. ========================================= Pending issues: 1 [TODO] System.CodeDom.CodeTypeReference::.ctor(System.Type) Details: We should parse basetype from right to left in 2.0 profile. 1 [TODO] System.CodeDom.CodeTypeReference::.ctor(System.String) Details: We should parse basetype from right to left in 2.0 profile. 5 [NIEX] System.Runtime.InteropServices.Marshal::GetHRForLastWin32Error() Details: 4 [NIEX] System.IO.FileStream::get_SafeFileHandle() 4 [NIEX] System.Data.Common.DbConnection::GetSchema(System.String,System.String[]) 5 [NIEX] System.Runtime.InteropServices.Marshal::GenerateGuidForType(System.Type) Details: 1 [TODO] System.Text.EncoderReplacementFallback::.ctor(System.String) Details: 4 [NIEX] System.Security.AccessControl.DiscretionaryAcl::AddAccess(System.Security.AccessControl.AccessControlType,System.Security.Principal.SecurityIdentifier,System.Int32,System.Security.AccessControl.InheritanceFlags,System.Security.AccessControl.PropagationFlags) 1 [TODO] System.Net.Security.SslStream::.ctor(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback) Details: certValidationCallback is not passed X509Chain and SslPolicyErrors correctly 5 [NIEX] System.Security.Principal.WindowsIdentity::get_User() Details: not implemented 5 [NIEX] System.DirectoryServices.DirectoryEntry::get_NativeObject() Details: 1 [TODO] System.Xml.XmlValidatingReader::set_ValidationType(System.Xml.ValidationType) Details: 1 [TODO] System.Transactions.PreparingEnlistment::Prepared() Details: 4 [NIEX] System.Security.AccessControl.GenericSecurityDescriptor::GetBinaryForm(System.Byte[],System.Int32) 4 [NIEX] System.Security.AccessControl.DiscretionaryAcl::.ctor(System.Boolean,System.Boolean,System.Int32) 4 [NIEX] System.Security.AccessControl.CommonSecurityDescriptor::.ctor(System.Boolean,System.Boolean,System.Security.AccessControl.ControlFlags,System.Security.Principal.SecurityIdentifier,System.Security.Principal.SecurityIdentifier,System.Security.AccessControl.SystemAcl,System.Security.AccessControl.DiscretionaryAcl) 1 [TODO] System.Transactions.Transaction::EnlistVolatile(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions) Details: EnlistmentOptions being ignored 1 [TODO] System.Security.Cryptography.X509Certificates.X509Certificate2Collection::Find(System.Security.Cryptography.X509Certificates.X509FindType,System.Object,System.Boolean) Details: Does not support X509FindType.FindByTemplateName, FindByApplicationPolicy and FindByCertificatePolicy 1 [TODO] System.IO.DriveInfo::GetDrives() Details: Currently only implemented on Mono/Linux 1 [TODO] System.IO.DriveInfo::get_AvailableFreeSpace() Details: Always returns infinite 4 [NIEX] System.Security.AccessControl.GenericSecurityDescriptor::get_BinaryLength() **************************************************** P/Invokes made by this program Library: clrexternalengine bool isc_get_trigger_field(Int32[], int, Byte[], IntPtr) bool isc_set_trigger_field(Int32[], int, Byte[], IntPtr) int isc_array_get_slice(Int32[], Int32&, Int32&, Int64&, IntPtr, Byte[], Int32&) int isc_array_put_slice(Int32[], Int32&, Int32&, Int64&, IntPtr, Byte[], Int32&) int isc_cancel_blob(Int32[], Int32&) int isc_close_blob(Int32[], Int32&) int isc_create_blob2(Int32[], Int32&, Int32&, Int32&, Int64&, Int16, Byte[]) int isc_database_info(Int32[], Int32&, Int16, Byte[], Int16, Byte[]) int isc_dsql_allocate_statement(Int32[], Int32&, Int32&) int isc_dsql_describe(Int32[], Int32&, Int16, IntPtr) int isc_dsql_describe_bind(Int32[], Int32&, Int16, IntPtr) int isc_dsql_execute2(Int32[], Int32&, Int32&, Int16, IntPtr, IntPtr) int isc_dsql_fetch(Int32[], Int32&, Int16, IntPtr) int isc_dsql_free_statement(Int32[], Int32&, Int16) int isc_dsql_prepare(Int32[], Int32&, Int32&, Int16, Byte[], Int16, IntPtr) int isc_dsql_sql_info(Int32[], Int32&, Int16, Byte[], Int16, Byte[]) int isc_get_current_database(Int32[], Int32&) int isc_get_current_transaction(Int32[], Int32&) int isc_get_segment(Int32[], Int32&, Int16&, Int16, Byte[]) int isc_get_trigger_action(Int32[]) int isc_get_trigger_table_name(Int32[], Byte[], int) int isc_open_blob2(Int32[], Int32&, Int32&, Int32&, Int64&, Int16, Byte[]) int isc_put_segment(Int32[], Int32&, Int16, Byte[]) int isc_service_attach(Int32[], Int16, string, Int32&, Int16, Byte[]) int isc_service_detach(Int32[], Int32&) int isc_service_query(Int32[], Int32&, Int32&, Int16, Byte[], Int16, Byte[], Int16, Byte[]) int isc_service_start(Int32[], Int32&, Int32&, Int16, Byte[]) Library: comctl32.dll int PropertySheet(x205ec0f74b9b068d&) Library: fbembed int isc_array_get_slice(Int32[], Int32&, Int32&, Int64&, IntPtr, Byte[], Int32&) int isc_array_put_slice(Int32[], Int32&, Int32&, Int64&, IntPtr, Byte[], Int32&) int isc_attach_database(Int32[], Int16, Byte[], Int32&, Int16, Byte[]) int isc_cancel_blob(Int32[], Int32&) int isc_close_blob(Int32[], Int32&) int isc_commit_retaining(Int32[], Int32&) int isc_commit_transaction(Int32[], Int32&) int isc_create_blob2(Int32[], Int32&, Int32&, Int32&, Int64&, Int16, Byte[]) int isc_create_database(Int32[], Int16, Byte[], Int32&, Int16, Byte[], Int16) int isc_database_info(Int32[], Int32&, Int16, Byte[], Int16, Byte[]) int isc_detach_database(Int32[], Int32&) int isc_drop_database(Int32[], Int32&) int isc_dsql_allocate_statement(Int32[], Int32&, Int32&) int isc_dsql_describe(Int32[], Int32&, Int16, IntPtr) int isc_dsql_describe_bind(Int32[], Int32&, Int16, IntPtr) int isc_dsql_execute2(Int32[], Int32&, Int32&, Int16, IntPtr, IntPtr) int isc_dsql_fetch(Int32[], Int32&, Int16, IntPtr) int isc_dsql_free_statement(Int32[], Int32&, Int16) int isc_dsql_prepare(Int32[], Int32&, Int32&, Int16, Byte[], Int16, IntPtr) int isc_dsql_sql_info(Int32[], Int32&, Int16, Byte[], Int16, Byte[]) int isc_get_segment(Int32[], Int32&, Int16&, Int16, Byte[]) int isc_open_blob2(Int32[], Int32&, Int32&, Int32&, Int64&, Int16, Byte[]) int isc_put_segment(Int32[], Int32&, Int16, Byte[]) int isc_rollback_retaining(Int32[], Int32&) int isc_rollback_transaction(Int32[], Int32&) int isc_service_attach(Int32[], Int16, string, Int32&, Int16, Byte[]) int isc_service_detach(Int32[], Int32&) int isc_service_query(Int32[], Int32&, Int32&, Int16, Byte[], Int16, Byte[], Int16, Byte[]) int isc_service_start(Int32[], Int32&, Int32&, Int16, Byte[]) int isc_start_multiple(Int32[], Int32&, Int16, IntPtr) Library: kernel32 int GetCurrentThreadId() Library: kernel32.dll bool AllocConsole() bool AttachConsole(uint) bool CallNamedPipe(string, IntPtr, uint, IntPtr, uint, UInt32&, uint) bool CloseHandle(IntPtr) bool ConnectNamedPipe(IntPtr, IntPtr) bool DeviceIoControl(IntPtr, uint, IntPtr, uint, IntPtr, uint, UInt32&, IntPtr) bool DisconnectNamedPipe(IntPtr) bool DisconnectNamedPipe(SafeFileHandle) bool FindClose(IntPtr) bool FindNextFile(IntPtr, xa00b9f6aefd172d2/x29490a5a468b9c86) bool FlushFileBuffers(IntPtr) bool FlushFileBuffers(SafeFileHandle) bool FreeConsole() bool GetVersionEx(x91c9185b66fefce8/x0a9a1a832df4e809&) bool QueryPerformanceFrequency(Int64&) bool ReadFile(IntPtr, Byte[], uint, UInt32&, IntPtr) bool ReadFile(SafeFileHandle, Byte[], uint, UInt32&, IntPtr) bool SetNamedPipeHandleState(IntPtr, UInt32&, IntPtr, IntPtr) bool WaitNamedPipe(string, uint) int CloseHandle(IntPtr) IntPtr CreateFile(string, uint, uint, IntPtr, uint, uint, IntPtr) IntPtr CreateNamedPipe(string, uint, uint, uint, uint, uint, uint, IntPtr) IntPtr CreateNamedPipe(string, uint, uint, uint, uint, uint, uint, x1512bb484338c880/x3532fa92c2b7b29b) IntPtr FindFirstFile(string, xa00b9f6aefd172d2/x29490a5a468b9c86) void QueryPerformanceCounter(Int64&) Library: ole32.dll int CreateBindCtx(int, IBindCtx&) int GetRunningObjectTable(int, IRunningObjectTable&) Library: Shell32.dll IntPtr SHGetFileInfo(string, uint, x81c6bf9c190d9657/xf72e6e61daef8bfd&, uint, uint) Library: User32.dll bool EnableWindow(IntPtr, bool) bool EnumThreadWindows(int, PleaseWaitForm/EnumThreadWndProc, IntPtr) bool GetLastInputInfo(x14a4eeb9e9acaab0/x0b543c33a08fa3fe&) bool IsWindow(IntPtr) bool IsWindowEnabled(IntPtr) bool IsWindowVisible(IntPtr) int DestroyIcon(IntPtr) IntPtr SetParent(IntPtr, IntPtr)