https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7a27dc8a55463b0d77327…
commit 7a27dc8a55463b0d77327bd28e506778085d9ba4
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Mon Dec 24 14:39:26 2018 +0100
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Mon Dec 24 14:39:26 2018 +0100
[NET] Add (incomplete) COMPUTER command and rename help.c to cmdHelp.c.
---
base/applications/network/net/CMakeLists.txt | 1 +
base/applications/network/net/cmdComputer.c | 103 +++++++++++++++++++++
.../applications/network/net/{help.c => cmdHelp.c} | 2 +-
base/applications/network/net/main.c | 2 +-
base/applications/network/net/net.h | 1 +
5 files changed, 107 insertions(+), 2 deletions(-)
diff --git a/base/applications/network/net/CMakeLists.txt
b/base/applications/network/net/CMakeLists.txt
index cee4e856d3..06313f7386 100644
--- a/base/applications/network/net/CMakeLists.txt
+++ b/base/applications/network/net/CMakeLists.txt
@@ -6,6 +6,7 @@ include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils)
list(APPEND SOURCE
main.c
cmdAccounts.c
+ cmdComputer.c
cmdConfig.c
cmdContinue.c
cmdGroup.c
diff --git a/base/applications/network/net/cmdComputer.c
b/base/applications/network/net/cmdComputer.c
new file mode 100644
index 0000000000..c094885361
--- /dev/null
+++ b/base/applications/network/net/cmdComputer.c
@@ -0,0 +1,103 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS net command
+ * FILE: base/applications/network/net/cmdComputer.c
+ * PROGRAMMERS: Eric Kohl <eric.kohl(a)reactos.org>
+ */
+
+#include "net.h"
+
+INT
+cmdComputer(
+ INT argc,
+ WCHAR **argv)
+{
+ INT i, result = 0;
+ BOOL bAdd = FALSE;
+ BOOL bDelete = FALSE;
+ PWSTR pComputerName = NULL;
+/*
+ OSVERSIONINFOEX VersionInfo;
+
+ VersionInfo.dwOSVersionInfoSize = sizeof(VersionInfo);
+ if (!GetVersionEx((LPOSVERSIONINFO)&VersionInfo))
+ {
+ PrintErrorMessage(GetLastError());
+ return 1;
+ }
+
+ if (VersionInfo.wProductType != VER_NT_DOMAIN_CONTROLLER)
+ {
+ PrintErrorMessage(3515);
+ return 1;
+ }
+*/
+
+ i = 2;
+ if (argc > 2 && argv[i][0] != L'\\' && argv[i][1] !=
L'\\')
+ {
+ pComputerName = argv[i];
+ i++;
+ }
+
+ for (; i < argc; i++)
+ {
+ if (_wcsicmp(argv[i], L"help") == 0)
+ {
+ /* Print short syntax help */
+ ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
+ PrintNetMessage(MSG_COMPUTER_SYNTAX);
+ return 0;
+ }
+
+ if (_wcsicmp(argv[i], L"/help") == 0)
+ {
+ /* Print full help text*/
+ ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
+ PrintNetMessage(MSG_COMPUTER_SYNTAX);
+ PrintNetMessage(MSG_COMPUTER_HELP);
+ return 0;
+ }
+
+ if (_wcsicmp(argv[i], L"/add") == 0)
+ {
+ bAdd = TRUE;
+ continue;
+ }
+ else if (_wcsicmp(argv[i], L"/del") == 0)
+ {
+ bDelete = TRUE;
+ continue;
+ }
+ else
+ {
+ PrintErrorMessage(3506/*, argv[i]*/);
+ return 1;
+ }
+ }
+
+ if (pComputerName == NULL ||
+ (bAdd == FALSE && bDelete == FALSE) ||
+ (bAdd == TRUE && bDelete == TRUE))
+ {
+ ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
+ PrintNetMessage(MSG_COMPUTER_SYNTAX);
+ return 1;
+ }
+
+ if (bAdd)
+ {
+ printf("Add %S (not implemented yet)\n", pComputerName);
+ }
+ else if (bDelete)
+ {
+ printf("Delete %S (not implemented yet)\n", pComputerName);
+ }
+
+ if (result == 0)
+ PrintErrorMessage(ERROR_SUCCESS);
+
+ return result;
+}
+
+/* EOF */
diff --git a/base/applications/network/net/help.c
b/base/applications/network/net/cmdHelp.c
similarity index 98%
rename from base/applications/network/net/help.c
rename to base/applications/network/net/cmdHelp.c
index 01b67a6572..716009ed59 100644
--- a/base/applications/network/net/help.c
+++ b/base/applications/network/net/cmdHelp.c
@@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS net command
- * FILE: base/applications/network/net/help.c
+ * FILE: base/applications/network/net/cmdHelp.c
* PURPOSE:
*
* PROGRAMMERS: Magnus Olsen (greatlord(a)reactos.org)
diff --git a/base/applications/network/net/main.c b/base/applications/network/net/main.c
index 02c2b4579e..579ea4c10c 100644
--- a/base/applications/network/net/main.c
+++ b/base/applications/network/net/main.c
@@ -21,7 +21,7 @@ typedef struct _COMMAND
COMMAND cmds[] =
{
{L"accounts", cmdAccounts},
- {L"computer", unimplemented},
+ {L"computer", cmdComputer},
{L"config", cmdConfig},
{L"continue", cmdContinue},
{L"file", unimplemented},
diff --git a/base/applications/network/net/net.h b/base/applications/network/net/net.h
index de61f92f39..d4845232eb 100644
--- a/base/applications/network/net/net.h
+++ b/base/applications/network/net/net.h
@@ -57,6 +57,7 @@ VOID help(VOID);
INT unimplemented(INT argc, WCHAR **argv);
INT cmdAccounts(INT argc, WCHAR **argv);
+INT cmdComputer(INT argc, WCHAR **argv);
INT cmdConfig(INT argc, WCHAR **argv);
INT cmdContinue(INT argc, WCHAR **argv);
INT cmdGroup(INT argc, WCHAR **argv);