OSDN Git Service

Avoid an implication that the API is exclusively 32-bit.
[mingw/mingw-org-wsl.git] / wslapi / include / rapi.h
1 /* rapi.h - main header file for the RAPI API
2
3         NOTE: This strictly does not belong in the Win32 API since it's
4         really part of Platform SDK.
5
6 */
7
8 #ifndef _RAPI_H
9 #define _RAPI_H
10 #if __GNUC__ >=3
11 #pragma GCC system_header
12 #endif
13
14 typedef struct IRAPIStream
15 {
16   struct IRAPIStreamVtbl * lpVtbl;
17 } IRAPIStream;
18
19 typedef struct IRAPIStreamVtbl IRAPIStreamVtbl;
20
21 typedef enum tagRAPISTREAMFLAG
22 {
23   STREAM_TIMEOUT_READ
24 } RAPISTREAMFLAG;
25
26 struct IRAPIStreamVtbl
27 {
28   HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD);
29   HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *);
30 };
31
32 typedef  HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream *);
33
34 typedef struct _RAPIINIT
35 {
36   DWORD cbSize;
37   HANDLE heRapiInit;
38   HRESULT hrRapiInit;
39 } RAPIINIT;
40
41 STDAPI CeRapiInit (void);
42 STDAPI CeRapiInitEx (RAPIINIT*);
43 STDAPI_(BOOL) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
44                                BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
45 STDAPI CeRapiUninit (void);
46
47 STDAPI_(BOOL) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
48 STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
49 STDAPI_(BOOL) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES);
50 STDAPI_(DWORD) CeGetLastError (void);
51 STDAPI_(BOOL) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
52 STDAPI_(BOOL) CeCloseHandle (HANDLE);
53
54 #endif /* _RAPI_H */