Work around MinGW mangling of "host:/path"
[msysgit/historical-msysgit.git] / mingw / include / rapi.h
blob4cf6515b4885ee712658168d121e55565475c63d
1 /* rapi.h - main header file for the RAPI API
3 NOTE: This strictly does not belong in the Win32 API since it's
4 really part of Platform SDK.
6 */
8 #ifndef _RAPI_H
9 #define _RAPI_H
10 #if __GNUC__ >=3
11 #pragma GCC system_header
12 #endif
14 typedef struct IRAPIStream
16 struct IRAPIStreamVtbl * lpVtbl;
17 } IRAPIStream;
19 typedef struct IRAPIStreamVtbl IRAPIStreamVtbl;
21 typedef enum tagRAPISTREAMFLAG
23 STREAM_TIMEOUT_READ
24 } RAPISTREAMFLAG;
26 struct IRAPIStreamVtbl
28 HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD);
29 HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *);
32 typedef HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream *);
34 typedef struct _RAPIINIT
36 DWORD cbSize;
37 HANDLE heRapiInit;
38 HRESULT hrRapiInit;
39 } RAPIINIT;
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);
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);
54 #endif /* _RAPI_H */