aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/libbb_udhcp.h
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/libbb_udhcp.h')
-rw-r--r--networking/udhcp/libbb_udhcp.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/networking/udhcp/libbb_udhcp.h b/networking/udhcp/libbb_udhcp.h
new file mode 100644
index 000000000..cce826786
--- /dev/null
+++ b/networking/udhcp/libbb_udhcp.h
@@ -0,0 +1,92 @@
+/* libbb_udhcp.h - busybox compatibility wrapper */
+
+/* bit of a hack, do this no matter what the order of the includes.
+ * (for busybox) */
+
+#ifndef _LIBBB_UDHCP_H
+#define _LIBBB_UDHCP_H
+
+#ifdef CONFIG_INSTALL_NO_USR
+# define DEFAULT_SCRIPT "/share/udhcpc/default.script"
+#else
+# define DEFAULT_SCRIPT "/usr/share/udhcpc/default.script"
+#endif
+
+#ifdef IN_BUSYBOX
+#include "busybox.h"
+
+#ifdef CONFIG_FEATURE_UDHCP_SYSLOG
+#define UDHCP_SYSLOG
+#endif
+
+#ifdef CONFIG_FEATURE_UDHCP_DEBUG
+#define UDHCP_DEBUG
+#endif
+
+#define COMBINED_BINARY
+#include "version.h"
+
+#define xfopen bb_xfopen
+
+/* make safe the exported namespace */
+/* from common.h */
+#define background udhcp_background
+#define start_log_and_pid udhcp_start_log_and_pid
+/* from script.h */
+#define run_script udhcp_run_script
+/* from packet.h */
+#define init_header udhcp_init_header
+#define get_packet udhcp_get_packet
+#define checksum udhcp_checksum
+#define raw_packet udhcp_raw_packet
+#define kernel_packet udhcp_kernel_packet
+/* from pidfile.h */
+#define pidfile_acquire udhcp_pidfile_acquire
+#define pidfile_write_release udhcp_pidfile_write_release
+/* from options.h */
+#define get_option udhcp_get_option
+#define end_option udhcp_end_option
+#define add_option_string udhcp_add_option_string
+#define add_simple_option udhcp_add_simple_option
+#define option_lengths udhcp_option_lengths
+/* from socket.h */
+#define listen_socket udhcp_listen_socket
+#define read_interface udhcp_read_interface
+/* from dhcpc.h */
+#define client_config udhcp_client_config
+/* from dhcpd.h */
+#define server_config udhcp_server_config
+
+#else /* ! IN_BUSYBOX */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/sysinfo.h>
+
+#ifndef ATTRIBUTE_NORETURN
+#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
+#endif /* ATTRIBUTE_NORETURN */
+
+#ifndef ATTRIBUTE_PACKED
+#define ATTRIBUTE_PACKED __attribute__ ((__packed__))
+#endif /* ATTRIBUTE_PACKED */
+
+#define TRUE 1
+#define FALSE 0
+
+#define xmalloc malloc
+#define xcalloc calloc
+
+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 /* IN_BUSYBOX */
+
+#endif /* _LIBBB_UDHCP_H */