A really simple Win32 implementation of 'hostname'.
authorEmanuele Aliberti <ea@iol.it>
Tue, 2 Aug 2005 20:17:01 +0000 (20:17 +0000)
committerEmanuele Aliberti <ea@iol.it>
Tue, 2 Aug 2005 20:17:01 +0000 (20:17 +0000)
svn path=/trunk/; revision=16976

reactos/bootdata/packages/reactos.dff
reactos/subsys/system/directory.xml
reactos/subsys/system/hostname/hostname.c [new file with mode: 0644]
reactos/subsys/system/hostname/hostname.rc [new file with mode: 0644]
reactos/subsys/system/hostname/hostname.xml [new file with mode: 0644]

index 6baa60b..085e49e 100755 (executable)
@@ -175,6 +175,7 @@ subsys\system\winefile\winefile.exe     1
 subsys\system\dhcp\dhcp.exe             1
 subsys\system\sm\sm.exe                 1
 subsys\system\expand\expand.exe         1
+subsys\system\hostname\hostname.exe     1
 services\eventlog\eventlog.exe          1
 services\rpcss\rpcss.exe                1
 services\umpnpmgr\umpnpmgr.exe          1
index 19e4289..e7fdfdb 100644 (file)
@@ -73,6 +73,9 @@
 <directory name="winlogon">
        <xi:include href="winlogon/winlogon.xml" />
 </directory>
+<directory name="hostname">
+       <xi:include href="hostname/hostname.xml" />
+</directory>
 <directory name="welcome">
        <xi:include href="welcome/welcome.xml" />
 </directory>
diff --git a/reactos/subsys/system/hostname/hostname.c b/reactos/subsys/system/hostname/hostname.c
new file mode 100644 (file)
index 0000000..769039a
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ *  ReactOS Win32 Applications
+ *  Copyright (C) 2005 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id$
+ *
+ * COPYRIGHT : See COPYING in the top level directory
+ * PROJECT   : ReactOS/Win32 get host name 
+ * FILE      : subsys/system/hostname/hostname.c
+ * PROGRAMMER: Emanuele Aliberti (ea@reactos.com)
+ */
+#include <windows.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main (int argc, char ** argv)
+{
+       if (1 == argc)
+       {
+               TCHAR ComputerName [MAX_COMPUTERNAME_LENGTH + 1];
+               DWORD ComputerNameSize = sizeof ComputerName / sizeof ComputerName[0];
+
+               ZeroMemory (ComputerName, ComputerNameSize);
+               if (GetComputerName(ComputerName, & ComputerNameSize))
+               {
+                       printf ("%s\n", ComputerName);
+                       return EXIT_SUCCESS;
+               }
+               fprintf (stderr, "%s: Win32 error %ld.\n",
+                       argv[0], GetLastError());
+               return EXIT_FAILURE;
+       }else{
+               if (0 == strcmp(argv[1],"-s"))
+               {
+                       fprintf(stderr,"%s: -s not supported.\n",argv[0]);
+                       return EXIT_FAILURE;
+               }else{
+                       printf("Print the current host's name.\n\nhostname\n");
+               }
+       }
+       return EXIT_SUCCESS;
+}
+/* EOF */
diff --git a/reactos/subsys/system/hostname/hostname.rc b/reactos/subsys/system/hostname/hostname.rc
new file mode 100644 (file)
index 0000000..227ff6a
--- /dev/null
@@ -0,0 +1,4 @@
+#define REACTOS_STR_FILE_DESCRIPTION   "Win32 Get local host name\0"
+#define REACTOS_STR_INTERNAL_NAME      "hostname\0"
+#define REACTOS_STR_ORIGINAL_FILENAME  "hostname.exe\0"
+#include <reactos/version.rc>
diff --git a/reactos/subsys/system/hostname/hostname.xml b/reactos/subsys/system/hostname/hostname.xml
new file mode 100644 (file)
index 0000000..85beb67
--- /dev/null
@@ -0,0 +1,7 @@
+<module name="hostname" type="win32cui" installbase="system32" installname="hostname.exe" warnings="true">
+       <define name="__USE_W32API" />
+       <library>kernel32</library>
+       <file>hostname.c</file>
+       <file>hostname.rc</file>
+</module>
+