diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
index 5711d03..b4a0f00 100644
--- a/dlls/rasapi32/rasapi.c
+++ b/dlls/rasapi32/rasapi.c
@@ -18,3 +18,27 @@
 	FIXME("(%p,%p,%p),stub!\n",rca,x,y);
 	return 0;
 }
+
+/**************************************************************************
+ *                 RasEnumEntriesA		        	[RASAPI32.546]
+ */
+DWORD WINAPI RasEnumEntriesA( LPSTR Reserved, LPSTR lpszPhoneBook,
+        LPRASENTRYNAME lpRasEntryName, 
+        LPDWORD lpcb, LPDWORD lpcEntries) 
+{
+	FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_a(lpszPhoneBook),
+            lpRasEntryName,lpcb,lpcEntries);
+	return 0;
+}
+
+/**************************************************************************
+ *                 RasGetEntryDialParamsA			[RASAPI32.550]
+ */
+DWORD WINAPI RasGetEntryDialParamsA( LPSTR lpszPhoneBook,
+        LPRASDIALPARAMS lpRasDialParams,
+        LPBOOL lpfPassword) 
+{
+	FIXME("(%s,%p,%p),stub!\n",debugstr_a(lpszPhoneBook),
+            lpRasDialParams,lpfPassword);
+	return 0;
+}
diff --git a/include/lmcons.h b/include/lmcons.h
new file mode 100644
index 0000000..dd78087
--- /dev/null
+++ b/include/lmcons.h
@@ -0,0 +1,11 @@
+#ifndef __WINE_LMCONS_H
+#define __WINE_LMCONS_H
+
+/* Lan manager API defines */
+
+#define UNLEN       256                 /* Maximum user name length */
+#define PWLEN       256                 /* Maximum password length */
+#define CNLEN       15                  /* Computer name length  */
+#define DNLEN       CNLEN               /* Maximum domain name length */
+
+#endif
diff --git a/include/ras.h b/include/ras.h
index cbd3e99..428c210 100644
--- a/include/ras.h
+++ b/include/ras.h
@@ -2,8 +2,11 @@
 #define __WINE_RAS_H
 
 #include "windef.h"
+#include "lmcons.h"
 
 #define RAS_MaxEntryName	256
+#define RAS_MaxPhoneNumber  128
+#define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
 
 typedef struct tagRASCONNA {
 	DWORD		dwSize;
@@ -11,5 +14,31 @@
 	CHAR		szEntryName[RAS_MaxEntryName+1];
 } RASCONNA,*LPRASCONNA;
 
+typedef struct tagRASENTRYNAME {
+    DWORD dwSize;
+    CHAR  szEntryName[ RAS_MaxEntryName + 1 ];
+} RASENTRYNAME, *LPRASENTRYNAME;
+
+typedef struct tagRASDIALPARAMS {
+    DWORD dwSize;
+    WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
+    WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
+    WCHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ];
+    WCHAR szUserName[ UNLEN + 1 ];
+    WCHAR szPassword[ PWLEN + 1 ];
+    WCHAR szDomain[ DNLEN + 1 ];
+    DWORD dwSubEntry;
+    DWORD dwCallbackId;
+} RASDIALPARAMS, *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); 
+
+
 #endif
