Implemented buffer management functions, a couple of workstation
information functions, created conformance tests.

diff --git a/include/Makefile.in b/include/Makefile.in
index 4b39082..a14a808 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -38,7 +38,12 @@
 	imm.h \
 	initguid.h \
 	instance.h \
+	lm.h \
+	lmaccess.h \
+	lmapibuf.h \
 	lmcons.h \
+	lmerr.h \
+	lmwksta.h \
 	lzexpand.h \
 	mapi.h \
 	mapicode.h \
diff --git a/include/lm.h b/include/lm.h
new file mode 100644
index 0000000..7ae3597
--- /dev/null
+++ b/include/lm.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2002 Andriy Palamarchuk
+ *
+ * General lm header which includes other lm headers.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_LM_H
+#define __WINE_LM_H
+
+#include <lmcons.h>
+#include <lmerr.h>
+#include <lmaccess.h>
+#include <lmwksta.h>
+#include <lmapibuf.h>
+
+#endif
diff --git a/include/lmaccess.h b/include/lmaccess.h
new file mode 100644
index 0000000..2c808f7
--- /dev/null
+++ b/include/lmaccess.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2002 Andriy Palamarchuk
+ *
+ * User API.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_LMAPIBUF_H
+#define __WINE_LMAPIBUF_H
+
+typedef struct _USER_INFO_10 {
+    LPWSTR  usri10_name;
+    LPWSTR  usri10_comment;
+    LPWSTR  usri10_usr_comment;
+    LPWSTR  usri10_full_name;
+} USER_INFO_10, *PUSER_INFO_10, *LPUSER_INFO_10;
+
+#endif
diff --git a/include/lmapibuf.h b/include/lmapibuf.h
new file mode 100644
index 0000000..a483af0
--- /dev/null
+++ b/include/lmapibuf.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2002 Andriy Palamarchuk
+ *
+ * Net API buffer calls
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_LMAPIBUF_H
+#define __WINE_LMAPIBUF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Buffer functions */
+NET_API_STATUS WINAPI NetApiBufferAllocate(DWORD ByteCount, LPVOID* Buffer);
+NET_API_STATUS WINAPI NetApiBufferFree(LPVOID Buffer);
+NET_API_STATUS WINAPI NetApiBufferReallocate(LPVOID OldBuffer, DWORD NewByteCount,
+                                             LPVOID* NewBuffer);
+NET_API_STATUS WINAPI NetApiBufferSize(LPVOID Buffer, LPDWORD ByteCount);
+NET_API_STATUS WINAPI NetapipBufferAllocate(DWORD ByteCount, LPVOID* Buffer);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/lmcons.h b/include/lmcons.h
index 8012bb8..943b95e 100644
--- a/include/lmcons.h
+++ b/include/lmcons.h
@@ -19,6 +19,10 @@
 #ifndef __WINE_LMCONS_H
 #define __WINE_LMCONS_H
 
+/* Types */
+
+#define NET_API_STATUS          DWORD
+
 /* Lan manager API defines */
 
 #define UNLEN       256                 /* Maximum user name length */
diff --git a/include/lmerr.h b/include/lmerr.h
new file mode 100644
index 0000000..0f606da
--- /dev/null
+++ b/include/lmerr.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2002 Andriy Palamarchuk
+ *
+ * NERR error codes.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_LMERR_H
+#define __WINE_LMERR_H
+
+#define NERR_Success    0
+
+#define NERR_BASE       2100
+
+#define MAX_NERR        (NERR_BASE+899)
+
+#endif
diff --git a/include/lmwksta.h b/include/lmwksta.h
new file mode 100644
index 0000000..19c52d8
--- /dev/null
+++ b/include/lmwksta.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2002 Andriy Palamarchuk
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_LMWKSTA_H
+#define __WINE_LMWKSTA_H
+
+#include <lmcons.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NetBIOS */
+UCHAR WINAPI Netbios(PNCB pncb);
+
+typedef struct _WKSTA_USER_INFO_0 {
+    LPWSTR  wkui0_username;
+} WKSTA_USER_INFO_0, *PWKSTA_USER_INFO_0, *LPWKSTA_USER_INFO_0;
+
+typedef struct _WKSTA_USER_INFO_1 {
+    LPWSTR  wkui1_username;
+    LPWSTR  wkui1_logon_domain;
+    LPWSTR  wkui1_oth_domains;
+    LPWSTR  wkui1_logon_server;
+} WKSTA_USER_INFO_1, *PWKSTA_USER_INFO_1, *LPWKSTA_USER_INFO_1;
+
+typedef struct _WKSTA_USER_INFO_1101 {
+    LPWSTR  wkui1101_oth_domains;
+} WKSTA_USER_INFO_1101, *PWKSTA_USER_INFO_1101, *LPWKSTA_USER_INFO_1101;
+
+/* workstation */
+NET_API_STATUS WINAPI NetWkstaUserGetInfo(LPWSTR reserved, DWORD level, PBYTE* bufptr);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/winbase.h b/include/winbase.h
index a317a98..ba207f1 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -189,6 +189,8 @@
 #define DRIVE_CDROM                5
 #define DRIVE_RAMDISK              6
 
+#define MAX_COMPUTERNAME_LENGTH    31
+
 /* The security attributes structure */
 typedef struct _SECURITY_ATTRIBUTES
 {