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
{