blob: cce826786d5a131e2860a9c28c547be1c54b1c60 [file] [log] [blame]
/* 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 */