mingw-5.1.4/win32/include/rapi.h
changeset 0 76b1f169d9fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mingw-5.1.4/win32/include/rapi.h	Fri Apr 03 17:16:45 2009 +0100
@@ -0,0 +1,54 @@
+/* rapi.h - main header file for the RAPI API
+
+        NOTE: This strictly does not belong in the Win32 API since it's
+        really part of Platform SDK.
+
+*/
+
+#ifndef _RAPI_H
+#define _RAPI_H
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+typedef struct IRAPIStream
+{
+  struct IRAPIStreamVtbl * lpVtbl;
+} IRAPIStream;
+
+typedef struct IRAPIStreamVtbl IRAPIStreamVtbl;
+
+typedef enum tagRAPISTREAMFLAG
+{
+  STREAM_TIMEOUT_READ
+} RAPISTREAMFLAG;
+
+struct IRAPIStreamVtbl
+{
+  HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD);
+  HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *);
+};
+
+typedef  HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream	*);
+
+typedef struct _RAPIINIT
+{
+  DWORD cbSize;
+  HANDLE heRapiInit;
+  HRESULT hrRapiInit;
+} RAPIINIT;
+
+STDAPI CeRapiInit (void);
+STDAPI CeRapiInitEx (RAPIINIT*);
+STDAPI_(BOOL) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
+			       BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
+STDAPI CeRapiUninit (void);
+
+STDAPI_(BOOL) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
+STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); 
+STDAPI_(BOOL) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES); 
+STDAPI_(DWORD) CeGetLastError (void);
+STDAPI_(BOOL) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); 
+STDAPI_(BOOL) CeCloseHandle (HANDLE); 
+
+#endif /* _RAPI_H */