directx header from mingw, writen by our Filip Navara
[reactos.git] / reactos / w32api / 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 */