start attempting to bring udhcp in busybox back to the state where it is (ideally...
authorRuss Dill <Russ.Dill@asu.edu>
Tue, 16 Dec 2003 02:28:20 +0000 (02:28 -0000)
committerRuss Dill <Russ.Dill@asu.edu>
Tue, 16 Dec 2003 02:28:20 +0000 (02:28 -0000)
networking/udhcp/dhcpc.c
networking/udhcp/dumpleases.c
networking/udhcp/libbb_udhcp.h

index d18a963a99d9287e2233ad817019e3021612b798..55664abf958f6c4eefef4663e63b806bbabdeba5 100644 (file)
@@ -75,6 +75,35 @@ struct client_config_t client_config = {
        arp: "\0\0\0\0\0\0",            /* appease gcc-3.0 */
 };
 
+#ifndef IN_BUSYBOX
+static void __attribute__ ((noreturn)) show_usage(void)
+{
+        printf(
+"Usage: udhcpc [OPTIONS]\n\n"
+"  -c, --clientid=CLIENTID         Client identifier\n"
+"  -H, --hostname=HOSTNAME         Client hostname\n"
+"  -h                              Alias for -H\n"
+"  -f, --foreground                Do not fork after getting lease\n"
+"  -b, --background                Fork to background if lease cannot be\n"
+"                                  immediately negotiated.\n"
+"  -i, --interface=INTERFACE       Interface to use (default: eth0)\n"
+"  -n, --now                       Exit with failure if lease cannot be\n"
+"                                  immediately negotiated.\n"
+"  -p, --pidfile=file              Store process ID of daemon in file\n"
+"  -q, --quit                      Quit after obtaining lease\n"
+"  -r, --request=IP                IP address to request (default: none)\n"
+"  -s, --script=file               Run file at dhcp events (default:\n"
+"                                  " DEFAULT_SCRIPT ")\n"
+"  -v, --version                   Display version\n"
+        );
+        exit(0);
+}
+#else
+#define show_usage bb_show_usage
+extern void show_usage(void) __attribute__ ((noreturn));
+#endif
+
+
 /* just a little helper */
 static void change_mode(int new_mode)
 {
@@ -233,7 +262,7 @@ int udhcpc_main(int argc, char *argv[])
                        return(0);
                        break;
                default:
-                       bb_show_usage();
+                       show_usage();
                }
        }
 
index 4c6107cf7d7ecebeba31b71b13b488759a6838a6..5cb3a156fdbca34c47af64bf1d7f95d3e6134922 100644 (file)
@@ -1,6 +1,7 @@
 #include <fcntl.h>
 #include <string.h>
 #include <stdlib.h>
+#include <stdio.h>
 #include <sys/wait.h>
 #include <arpa/inet.h>
 #include <netdb.h>
 #include <time.h>
 
 #include "leases.h"
-#include "busybox.h"
+#include "libbb_udhcp.h"
 
 #define REMAINING 0
 #define ABSOLUTE 1
 
+
+#ifndef IN_BUSYBOX
+static void __attribute__ ((noreturn)) show_usage(void)
+{
+       printf(
+"Usage: dumpleases -f <file> -[r|a]\n\n"
+"  -f, --file=FILENAME             Leases file to load\n"
+"  -r, --remaining                 Interepret lease times as time remaing\n"
+"  -a, --absolute                  Interepret lease times as expire time\n");
+       exit(0);
+}
+#else
+#define show_usage bb_show_usage
+#endif
+
+
+#ifdef IN_BUSYBOX
 int dumpleases_main(int argc, char *argv[])
+#else
+int main(int argc, char *argv[])
+#endif
 {
        FILE *fp;
        int i, c, mode = REMAINING;
@@ -42,14 +63,14 @@ int dumpleases_main(int argc, char *argv[])
                case 'a': mode = ABSOLUTE; break;
                case 'r': mode = REMAINING; break;
                case 'f':
-                       file =  optarg;
+                       file = optarg;
                        break;
                default:
-                       bb_show_usage();
+                       show_usage();
                }
        }
                        
-       fp = bb_xfopen(file, "r");
+       fp = xfopen(file, "r");
 
        printf("Mac Address       IP-Address      Expires %s\n", mode == REMAINING ? "in" : "at");  
        /*     "00:00:00:00:00:00 255.255.255.255 Wed Jun 30 21:49:08 1993" */
index e09429808fbc39d8606ae041c3a71f1578d2e3aa..73e21464f708c534f4b09954bcd86f1d1e716ba1 100644 (file)
@@ -4,7 +4,7 @@
 #define _LIBBB_UDHCP_H
 
 #ifdef IN_BUSYBOX
-#include "libbb.h"
+#include "busybox.h"
 
 #ifdef CONFIG_FEATURE_UDHCP_SYSLOG
 #define SYSLOG
 #define COMBINED_BINARY
 #include "version.h"
 
+#ifdef CONFIG_INSTALL_NO_USR
+#define DEFAULT_SCRIPT  "/share/udhcpc/default.script"
+#else
+#define DEFAULT_SCRIPT  "/usr/share/udhcpc/default.script"
+#endif
+
+#define xfopen bb_xfopen
+
 #else /* ! BB_VER */
 
+#include <stdlib.h>
+#include <stdio.h>
+
 #define TRUE                   1
 #define FALSE                  0
 
 #define xmalloc malloc
+#define xcalloc calloc
+
+#define DEFAULT_SCRIPT  "/usr/share/udhcpc/default.script"
+
+static inline FILE *xfopen(const char *file, const char *mode)
+{
+       FILE *fp;
+       if (!(fp = fopen(file, mode))) {
+               perror("could not open input file");
+               exit(0);
+       }
+       return fp;
+}
 
 #endif /* BB_VER */