Trey Hunner : ping: Add skeleton ping command.

Alexandre Julliard julliard at winehq.org
Fri Mar 19 11:16:42 CDT 2010


Module: wine
Branch: master
Commit: 5e3e2ca7ffcd9d8c7e47da30eae7780349ba6add
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5e3e2ca7ffcd9d8c7e47da30eae7780349ba6add

Author: Trey Hunner <treyhunner at gmail.com>
Date:   Tue Mar  2 09:26:57 2010 -0800

ping: Add skeleton ping command.

---

 configure                 |    5 +++
 configure.ac              |    1 +
 programs/ping/Makefile.in |   13 +++++++++
 programs/ping/ping_main.c |   61 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index 96dabf2..c177802 100755
--- a/configure
+++ b/configure
@@ -16106,6 +16106,10 @@ wine_fn_config_program oleview
 wine_fn_config_makefile programs/oleview "programs/Makeprog.rules \$(MAKEDEP)"
 test "x$enable_oleview" != xno && wine_fn_append_file ALL_PROGRAM_DIRS "programs/oleview" && wine_fn_append_file ALL_INSTALL_DIRS "programs/oleview"
 
+wine_fn_config_program ping
+wine_fn_config_makefile programs/ping "programs/Makeprog.rules \$(MAKEDEP)"
+test "x$enable_ping" != xno && wine_fn_append_file ALL_PROGRAM_DIRS "programs/ping" && wine_fn_append_file ALL_INSTALL_DIRS "programs/ping"
+
 wine_fn_config_program progman
 wine_fn_config_makefile programs/progman "programs/Makeprog.rules \$(MAKEDEP)"
 test "x$enable_progman" != xno && wine_fn_append_file ALL_PROGRAM_DIRS "programs/progman" && wine_fn_append_file ALL_INSTALL_DIRS "programs/progman"
@@ -17486,6 +17490,7 @@ do
     "programs/net/Makefile") CONFIG_FILES="$CONFIG_FILES programs/net/Makefile" ;;
     "programs/notepad/Makefile") CONFIG_FILES="$CONFIG_FILES programs/notepad/Makefile" ;;
     "programs/oleview/Makefile") CONFIG_FILES="$CONFIG_FILES programs/oleview/Makefile" ;;
+    "programs/ping/Makefile") CONFIG_FILES="$CONFIG_FILES programs/ping/Makefile" ;;
     "programs/progman/Makefile") CONFIG_FILES="$CONFIG_FILES programs/progman/Makefile" ;;
     "programs/reg/Makefile") CONFIG_FILES="$CONFIG_FILES programs/reg/Makefile" ;;
     "programs/regedit/Makefile") CONFIG_FILES="$CONFIG_FILES programs/regedit/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index a168c4e..ce14e53 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2662,6 +2662,7 @@ WINE_CONFIG_PROGRAM(msiexec,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS,ALL_PROGRAM_BIN_I
 WINE_CONFIG_PROGRAM(net,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS])
 WINE_CONFIG_PROGRAM(notepad,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS,ALL_PROGRAM_BIN_INSTALL_DIRS])
 WINE_CONFIG_PROGRAM(oleview,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS])
+WINE_CONFIG_PROGRAM(ping,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS])
 WINE_CONFIG_PROGRAM(progman,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS])
 WINE_CONFIG_PROGRAM(reg,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS])
 WINE_CONFIG_PROGRAM(regedit,[ALL_PROGRAM_DIRS,ALL_INSTALL_DIRS,ALL_PROGRAM_BIN_INSTALL_DIRS])
diff --git a/programs/ping/Makefile.in b/programs/ping/Makefile.in
new file mode 100644
index 0000000..b67e318
--- /dev/null
+++ b/programs/ping/Makefile.in
@@ -0,0 +1,13 @@
+EXTRADEFS = -DWINE_NO_UNICODE_MACROS
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = ping.exe
+APPMODE   = -mconsole
+IMPORTS   = kernel32
+
+C_SRCS = \
+	ping_main.c
+
+ at MAKE_PROG_RULES@
diff --git a/programs/ping/ping_main.c b/programs/ping/ping_main.c
new file mode 100644
index 0000000..70db17f
--- /dev/null
+++ b/programs/ping/ping_main.c
@@ -0,0 +1,61 @@
+/*
+ * ping stub
+ * Copyright (C) 2010 Trey Hunner
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <unistd.h>
+#include <windows.h>
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ping);
+
+static void usage(void)
+{
+    WINE_MESSAGE( "Usage: ping [-n count] [-w timeout] target_name\n\n" );
+    WINE_MESSAGE( "Options:\n" );
+    WINE_MESSAGE( "    -n  Number of echo requests to send.\n" );
+    WINE_MESSAGE( "    -w  Timeout in milliseconds to wait for each reply.\n" );
+}
+
+int main(int argc, char** argv)
+{
+    int n = 0;
+    int optc;
+
+    WINE_FIXME( "this command currently just sleeps based on -n parameter\n" );
+
+    while ((optc = getopt( argc, argv, "n:w:tal:fi:v:r:s:j:k:" )) != -1)
+    {
+        switch(optc)
+        {
+            case 'n':
+                n = atoi( optarg );
+                break;
+            case '?':
+                usage();
+                exit(1);
+            default:
+                usage();
+                WINE_FIXME( "this command currently only supports the -n parameter\n" );
+                exit(1);
+        }
+    }
+
+    Sleep(n * 1000);
+    return 0;
+}




More information about the wine-cvs mailing list