* docs.make, Makefile.am: Build mono-file-formats{.tree,.zip},
[mono.git] / docs / sources / mono-api-wapi.html
1 <h2>Windows Compatibility API</h2>
2
3         <p>Mono implements a small subset of the Win32 API for some
4         file system interaction, I/O, thread and process operations.
5
6         <p>On Windows, Mono uses directly the services provided by the
7         operating system.   On other operating system it uses its own
8         implementation (referred to as the "io-layer" or "wapi"). 
9         
10 <h4><a name="api:GetThreadContext">GetThreadContext</a></h4>
11 <h4><a name="api:DeleteCriticalSection">DeleteCriticalSection</a></h4>
12 <h4><a name="api:EnterCriticalSection">EnterCriticalSection</a></h4>
13 <h4><a name="api:InitializeCriticalSection">InitializeCriticalSection</a></h4>
14 <h4><a name="api:InitializeCriticalSectionAndSpinCount">InitializeCriticalSectionAndSpinCount</a></h4>
15 <h4><a name="api:LeaveCriticalSection">LeaveCriticalSection</a></h4>
16 <h4><a name="api:SetCriticalSectionSpinCount">SetCriticalSectionSpinCount</a></h4>
17 <h4><a name="api:TryEnterCriticalSection">TryEnterCriticalSection</a></h4>
18 <h4><a name="api:errno_to_WSA">errno_to_WSA</a></h4>
19 <h4><a name="api:GetLastError">GetLastError</a></h4>
20 <h4><a name="api:SetLastError">SetLastError</a></h4>
21 <h4><a name="api:CreateEvent">CreateEvent</a></h4>
22 <h4><a name="api:PulseEvent">PulseEvent</a></h4>
23 <h4><a name="api:ResetEvent">ResetEvent</a></h4>
24 <h4><a name="api:SetEvent">SetEvent</a></h4>
25 <h4><a name="api:CloseHandle">CloseHandle</a></h4>
26 <h4><a name="api:CopyFile">CopyFile</a></h4>
27 <h4><a name="api:CreateDirectory">CreateDirectory</a></h4>
28 <h4><a name="api:CreateFile">CreateFile</a></h4>
29 <h4><a name="api:CreatePipe">CreatePipe</a></h4>
30 <h4><a name="api:DeleteFile">DeleteFile</a></h4>
31 <h4><a name="api:FileTimeToSystemTime">FileTimeToSystemTime</a></h4>
32 <h4><a name="api:FindClose">FindClose</a></h4>
33 <h4><a name="api:FindFirstFile">FindFirstFile</a></h4>
34 <h4><a name="api:FindNextFile">FindNextFile</a></h4>
35 <h4><a name="api:FlushFileBuffers">FlushFileBuffers</a></h4>
36 <h4><a name="api:GetCurrentDirectory">GetCurrentDirectory</a></h4>
37 <h4><a name="api:GetFileAttributes">GetFileAttributes</a></h4>
38 <h4><a name="api:GetFileAttributesEx">GetFileAttributesEx</a></h4>
39 <h4><a name="api:GetFileSize">GetFileSize</a></h4>
40 <h4><a name="api:GetFileTime">GetFileTime</a></h4>
41 <h4><a name="api:GetFileType">GetFileType</a></h4>
42 <h4><a name="api:GetLogicalDriveStrings">GetLogicalDriveStrings</a></h4>
43 <h4><a name="api:GetStdHandle">GetStdHandle</a></h4>
44 <h4><a name="api:GetTempPath">GetTempPath</a></h4>
45 <h4><a name="api:LockFile">LockFile</a></h4>
46 <h4><a name="api:MoveFile">MoveFile</a></h4>
47 <h4><a name="api:ReadFile">ReadFile</a></h4>
48 <h4><a name="api:RemoveDirectory">RemoveDirectory</a></h4>
49 <h4><a name="api:SetCurrentDirectory">SetCurrentDirectory</a></h4>
50 <h4><a name="api:SetEndOfFile">SetEndOfFile</a></h4>
51 <h4><a name="api:SetFileAttributes">SetFileAttributes</a></h4>
52 <h4><a name="api:SetFilePointer">SetFilePointer</a></h4>
53 <h4><a name="api:SetFileTime">SetFileTime</a></h4>
54 <h4><a name="api:UnlockFile">UnlockFile</a></h4>
55 <h4><a name="api:WriteFile">WriteFile</a></h4>
56 <h4><a name="api:mono_once">mono_once</a></h4>
57 <h4><a name="api:CreateMutex">CreateMutex</a></h4>
58 <h4><a name="api:ReleaseMutex">ReleaseMutex</a></h4>
59 <h4><a name="api:CreateProcess">CreateProcess</a></h4>
60 <h4><a name="api:EnumProcesses">EnumProcesses</a></h4>
61 <h4><a name="api:EnumProcessModules">EnumProcessModules</a></h4>
62 <h4><a name="api:GetCurrentProcess">GetCurrentProcess</a></h4>
63 <h4><a name="api:GetCurrentProcessId">GetCurrentProcessId</a></h4>
64 <h4><a name="api:GetExitCodeProcess">GetExitCodeProcess</a></h4>
65 <h4><a name="api:GetModuleBaseName">GetModuleBaseName</a></h4>
66 <h4><a name="api:GetProcessTimes">GetProcessTimes</a></h4>
67 <h4><a name="api:GetProcessWorkingSetSize">GetProcessWorkingSetSize</a></h4>
68 <h4><a name="api:OpenProcess">OpenProcess</a></h4>
69 <h4><a name="api:SetProcessWorkingSetSize">SetProcessWorkingSetSize</a></h4>
70 <h4><a name="api:TerminateProcess">TerminateProcess</a></h4>
71 <h4><a name="api:ImpersonateLoggedOnUser">ImpersonateLoggedOnUser</a></h4>
72 <h4><a name="api:RevertToSelf">RevertToSelf</a></h4>
73 <h4><a name="api:CreateSemaphore">CreateSemaphore</a></h4>
74 <h4><a name="api:ReleaseSemaphore">ReleaseSemaphore</a></h4>
75 <h4><a name="api:closesocket">closesocket</a></h4>
76 <h4><a name="api:ioctlsocket">ioctlsocket</a></h4>
77 <h4><a name="api:WSACleanup">WSACleanup</a></h4>
78 <h4><a name="api:WSAGetLastError">WSAGetLastError</a></h4>
79 <h4><a name="api:WSAIoctl">WSAIoctl</a></h4>
80 <h4><a name="api:WSASetLastError">WSASetLastError</a></h4>
81 <h4><a name="api:WSAStartup">WSAStartup</a></h4>
82 <h4><a name="api:GetSystemInfo">GetSystemInfo</a></h4>
83 <h4><a name="api:BindIoCompletionCallback">BindIoCompletionCallback</a></h4>
84 <h4><a name="api:CreateThread">CreateThread</a></h4>
85 <h4><a name="api:ExitThread">ExitThread</a></h4>
86 <h4><a name="api:GetCurrentThread">GetCurrentThread</a></h4>
87 <h4><a name="api:GetCurrentThreadId">GetCurrentThreadId</a></h4>
88 <h4><a name="api:GetExitCodeThread">GetExitCodeThread</a></h4>
89 <h4><a name="api:OpenThread">OpenThread</a></h4>
90 <h4><a name="api:QueueUserAPC">QueueUserAPC</a></h4>
91 <h4><a name="api:ResumeThread">ResumeThread</a></h4>
92 <h4><a name="api:Sleep">Sleep</a></h4>
93 <h4><a name="api:SleepEx">SleepEx</a></h4>
94 <h4><a name="api:SuspendThread">SuspendThread</a></h4>
95 <h4><a name="api:TlsAlloc">TlsAlloc</a></h4>
96 <h4><a name="api:TlsFree">TlsFree</a></h4>
97 <h4><a name="api:TlsGetValue">TlsGetValue</a></h4>
98 <h4><a name="api:TlsSetValue">TlsSetValue</a></h4>
99 <h4><a name="api:GetTickCount">GetTickCount</a></h4>
100 <h4><a name="api:QueryPerformanceCounter">QueryPerformanceCounter</a></h4>
101 <h4><a name="api:QueryPerformanceFrequency">QueryPerformanceFrequency</a></h4>
102 <h4><a name="api:SignalObjectAndWait">SignalObjectAndWait</a></h4>
103 <h4><a name="api:WaitForMultipleObjects">WaitForMultipleObjects</a></h4>
104 <h4><a name="api:WaitForMultipleObjectsEx">WaitForMultipleObjectsEx</a></h4>
105 <h4><a name="api:WaitForSingleObject">WaitForSingleObject</a></h4>
106 <h4><a name="api:WaitForSingleObjectEx">WaitForSingleObjectEx</a></h4>
107 <h4><a name="api:OpenEvent">OpenEvent</a></h4>
108 <h4><a name="api:OpenMutex">OpenMutex</a></h4>
109 <h4><a name="api:GetProcessId">GetProcessId</a></h4>
110 <h4><a name="api:ShellExecuteEx">ShellExecuteEx</a></h4>
111 <h4><a name="api:OpenSemaphore">OpenSemaphore</a></h4>