Moved HRASCONN from windef.h.
Added missing Unicode type and function definitions.
Added a few missing macro definitions.
Enclose in an extern "C" for C++ Winelib applications.
Added the structure packing specification.
diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
index 2db85a5..994669f 100644
--- a/dlls/rasapi32/rasapi.c
+++ b/dlls/rasapi32/rasapi.c
@@ -22,8 +22,8 @@
/**************************************************************************
* RasEnumEntriesA [RASAPI32.546]
*/
-DWORD WINAPI RasEnumEntriesA( LPSTR Reserved, LPSTR lpszPhoneBook,
- LPRASENTRYNAME lpRasEntryName,
+DWORD WINAPI RasEnumEntriesA( LPCSTR Reserved, LPCSTR lpszPhoneBook,
+ LPRASENTRYNAMEA lpRasEntryName,
LPDWORD lpcb, LPDWORD lpcEntries)
{
FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_a(lpszPhoneBook),
@@ -35,8 +35,8 @@
/**************************************************************************
* RasGetEntryDialParamsA [RASAPI32.550]
*/
-DWORD WINAPI RasGetEntryDialParamsA( LPSTR lpszPhoneBook,
- LPRASDIALPARAMS lpRasDialParams,
+DWORD WINAPI RasGetEntryDialParamsA( LPCSTR lpszPhoneBook,
+ LPRASDIALPARAMSA lpRasDialParams,
LPBOOL lpfPassword)
{
FIXME("(%s,%p,%p),stub!\n",debugstr_a(lpszPhoneBook),
diff --git a/include/ras.h b/include/ras.h
index 428c210..c2edf74 100644
--- a/include/ras.h
+++ b/include/ras.h
@@ -4,22 +4,68 @@
#include "windef.h"
#include "lmcons.h"
-#define RAS_MaxEntryName 256
-#define RAS_MaxPhoneNumber 128
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "pshpack4.h"
+
#define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
+#define RAS_MaxDeviceName 128
+#define RAS_MaxDeviceType 16
+#define RAS_MaxEntryName 256
+#define RAS_MaxPhoneNumber 128
+
+DECLARE_HANDLE(HRASCONN);
typedef struct tagRASCONNA {
- DWORD dwSize;
- HRASCONN hRasConn;
- CHAR szEntryName[RAS_MaxEntryName+1];
+ DWORD dwSize;
+ HRASCONN hRasConn;
+ CHAR szEntryName[ RAS_MaxEntryName + 1 ];
+ CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
+ CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
+ CHAR szPhonebook[ MAX_PATH ];
+ DWORD dwSubEntry;
} RASCONNA,*LPRASCONNA;
-typedef struct tagRASENTRYNAME {
+typedef struct tagRASCONNW {
+ DWORD dwSize;
+ HRASCONN hRasConn;
+ WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
+ WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
+ WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
+ WCHAR szPhonebook[ MAX_PATH ];
+ DWORD dwSubEntry;
+} RASCONNW,*LPRASCONNW;
+
+DECL_WINELIB_TYPE_AW(RASCONN)
+DECL_WINELIB_TYPE_AW(LPRASCONN)
+
+typedef struct tagRASENTRYNAMEA {
DWORD dwSize;
CHAR szEntryName[ RAS_MaxEntryName + 1 ];
-} RASENTRYNAME, *LPRASENTRYNAME;
+} RASENTRYNAMEA, *LPRASENTRYNAMEA;
-typedef struct tagRASDIALPARAMS {
+typedef struct tagRASENTRYNAMEW {
+ DWORD dwSize;
+ WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
+} RASENTRYNAMEW, *LPRASENTRYNAMEW;
+
+DECL_WINELIB_TYPE_AW(RASENTRYNAME)
+DECL_WINELIB_TYPE_AW(LPRASENTRYNAME)
+
+typedef struct tagRASDIALPARAMSA {
+ DWORD dwSize;
+ CHAR szEntryName[ RAS_MaxEntryName + 1 ];
+ CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
+ CHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ];
+ CHAR szUserName[ UNLEN + 1 ];
+ CHAR szPassword[ PWLEN + 1 ];
+ CHAR szDomain[ DNLEN + 1 ];
+ DWORD dwSubEntry;
+ DWORD dwCallbackId;
+} RASDIALPARAMSA, *LPRASDIALPARAMSA;
+
+typedef struct tagRASDIALPARAMSW {
DWORD dwSize;
WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
@@ -29,16 +75,28 @@
WCHAR szDomain[ DNLEN + 1 ];
DWORD dwSubEntry;
DWORD dwCallbackId;
-} RASDIALPARAMS, *LPRASDIALPARAMS;
+} RASDIALPARAMSW, *LPRASDIALPARAMSW;
+
+DECL_WINELIB_TYPE_AW(RASDIALPARAMS)
+DECL_WINELIB_TYPE_AW(LPRASDIALPARAMS)
-DWORD WINAPI RasEnumConnectionsA( LPRASCONNA rc, LPDWORD x, LPDWORD y);
-DWORD WINAPI RasEnumEntriesA( LPSTR Reserved, LPSTR lpszPhoneBook,
- LPRASENTRYNAME lpRasEntryName,
- LPDWORD lpcb, LPDWORD lpcEntries);
-DWORD WINAPI RasGetEntryDialParamsA( LPSTR lpszPhoneBook,
- LPRASDIALPARAMS lpRasDialParams,
- LPBOOL lpfPassword);
+DWORD WINAPI RasEnumConnectionsA(LPRASCONNA,LPDWORD,LPDWORD);
+DWORD WINAPI RasEnumConnectionsW(LPRASCONNW,LPDWORD,LPDWORD);
+#define RasEnumConnections WINELIB_NAME_AW(RasEnumConnections)
+DWORD WINAPI RasEnumEntriesA(LPCSTR,LPCSTR,LPRASENTRYNAMEA,LPDWORD,LPDWORD);
+DWORD WINAPI RasEnumEntriesW(LPCWSTR,LPCWSTR,LPRASENTRYNAMEW,LPDWORD,LPDWORD);
+#define RasEnumEntries WINELIB_NAME_AW(RasEnumEntries)
+DWORD WINAPI RasGetEntryDialParamsA(LPCSTR,LPRASDIALPARAMSA,LPBOOL);
+DWORD WINAPI RasGetEntryDialParamsW(LPCWSTR,LPRASDIALPARAMSW,LPBOOL);
+#define RasGetEntryDialParams WINELIB_NAME_AW(RasGetEntryDialParams)
+DWORD WINAPI RasHangUpA(HRASCONN);
+DWORD WINAPI RasHangUpW(HRASCONN);
+#define RasHangUp WINELIB_NAME_AW(RasHangUp)
+#include "poppack.h"
+#ifdef __cplusplus
+}
+#endif
#endif
diff --git a/include/windef.h b/include/windef.h
index 16d795d..430d1da 100644
--- a/include/windef.h
+++ b/include/windef.h
@@ -98,7 +98,6 @@
DECLARE_HANDLE(HDESK);
DECLARE_HANDLE(HWND);
DECLARE_HANDLE(HKL);
-DECLARE_HANDLE(HRASCONN);
/* Handle types that must remain interchangeable even with strict on */