[rtems commit] network/bootp: PR2031: Add and use header file
Gedare Bloom
gedare at rtems.org
Fri Jan 12 21:01:25 UTC 2018
Module: rtems
Branch: 4.10
Commit: a078d6f0ab707dd43aac94b029ebf23ab5e92f6a
Changeset: http://git.rtems.org/rtems/commit/?id=a078d6f0ab707dd43aac94b029ebf23ab5e92f6a
Author: Sebastien Bourdeauducq <sebastien at milkymist.org>
Date: Tue May 22 12:06:20 2012 +0200
network/bootp: PR2031: Add and use header file
---
cpukit/libnetworking/Makefile.am | 1 +
cpukit/libnetworking/nfs/bootp_subr.c | 16 ++-------
cpukit/libnetworking/rtems/bootp.h | 41 ++++++++++++++++++++++
cpukit/libnetworking/rtems/rtems_bootp.c | 2 ++
cpukit/libnetworking/rtems/rtems_bsdnet_internal.h | 1 -
cpukit/libnetworking/rtems/rtems_dhcp.c | 26 +++-----------
6 files changed, 50 insertions(+), 37 deletions(-)
diff --git a/cpukit/libnetworking/Makefile.am b/cpukit/libnetworking/Makefile.am
index 54f144f..7f2481c 100644
--- a/cpukit/libnetworking/Makefile.am
+++ b/cpukit/libnetworking/Makefile.am
@@ -8,6 +8,7 @@ include $(top_srcdir)/automake/compile.am
AM_CPPFLAGS += -I$(srcdir)
EXTRA_DIST = README
+EXTRA_DIST += rtems/bootp.h
# poll is not supported
UNUSED_FILES = poll.h
diff --git a/cpukit/libnetworking/nfs/bootp_subr.c b/cpukit/libnetworking/nfs/bootp_subr.c
index e976227..5375b66 100644
--- a/cpukit/libnetworking/nfs/bootp_subr.c
+++ b/cpukit/libnetworking/nfs/bootp_subr.c
@@ -74,6 +74,8 @@
#include <rtems/bsdnet/servers.h>
#include <inttypes.h>
+#include "rtems/bootp.h"
+
#define BOOTP_MIN_LEN 300 /* Minimum size of bootp udp packet */
/*
@@ -138,20 +140,6 @@ void bootpboot_p_rtlist(void);
void bootpboot_p_iflist(void);
#endif
-int bootpc_call(struct bootp_packet *call,
- struct bootp_packet *reply,
- struct proc *procp);
-
-int bootpc_fakeup_interface(struct ifreq *ireq,struct socket *so,
- struct proc *procp);
-
-int
-bootpc_adjust_interface(struct ifreq *ireq,struct socket *so,
- struct sockaddr_in *myaddr,
- struct sockaddr_in *netmask,
- struct sockaddr_in *gw,
- struct proc *procp);
-
#ifdef BOOTP_DEBUG
void
bootpboot_p_sa(struct sockaddr *sa, struct sockaddr *ma)
diff --git a/cpukit/libnetworking/rtems/bootp.h b/cpukit/libnetworking/rtems/bootp.h
new file mode 100644
index 0000000..d8eeb76
--- /dev/null
+++ b/cpukit/libnetworking/rtems/bootp.h
@@ -0,0 +1,41 @@
+/* Subroutines from cpukit/libnetworking/nfs/bootp_subr.c */
+
+#if !defined (__RTEMS_BOOTP_H__)
+#define __RTEMS_BOOTP_H__
+
+#include <stdbool.h>
+
+#if __cplusplus
+extern "C"
+{
+#endif
+
+struct bootp_packet;
+struct proc;
+struct ifreq;
+struct socket;
+struct sockaddr_in;
+
+bool bootpc_init(bool, bool);
+
+int bootpc_call(
+ struct bootp_packet *call,
+ struct bootp_packet *reply,
+ struct proc *procp);
+int bootpc_fakeup_interface(struct ifreq *ireq,
+ struct socket *so,
+ struct proc *procp);
+int bootpc_adjust_interface(struct ifreq *ireq,
+ struct socket *so,
+ struct sockaddr_in *myaddr,
+ struct sockaddr_in *netmask,
+ struct sockaddr_in *gw,
+ struct proc *procp);
+
+void *bootp_strdup_realloc(char *dst, const char *src);
+
+#if __cplusplus
+}
+#endif
+
+#endif
diff --git a/cpukit/libnetworking/rtems/rtems_bootp.c b/cpukit/libnetworking/rtems/rtems_bootp.c
index caf2faa..6a644a4 100644
--- a/cpukit/libnetworking/rtems/rtems_bootp.c
+++ b/cpukit/libnetworking/rtems/rtems_bootp.c
@@ -12,6 +12,8 @@
#include <rtems/rtems_bsdnet.h>
#include <rtems/rtems_bsdnet_internal.h>
+#include "rtems/bootp.h"
+
/*
* Perform a BOOTP request
*/
diff --git a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h
index a22a223..8c9ab04 100644
--- a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h
+++ b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h
@@ -179,7 +179,6 @@ void domaininit (void *);
void ifinit (void *);
void ipintr (void);
void arpintr (void);
-bool bootpc_init(bool, bool);
int socket (int, int, int);
int ioctl (int, ioctl_command_t, ...);
diff --git a/cpukit/libnetworking/rtems/rtems_dhcp.c b/cpukit/libnetworking/rtems/rtems_dhcp.c
index f71d83e..d941ee8 100644
--- a/cpukit/libnetworking/rtems/rtems_dhcp.c
+++ b/cpukit/libnetworking/rtems/rtems_dhcp.c
@@ -99,6 +99,7 @@
#include <rtems/mkrootfs.h>
#include "rtems/dhcp.h"
+#include "rtems/bootp.h"
#ifndef EALEN
#define EALEN 6
@@ -167,25 +168,6 @@ struct dhcp_packet
};
/*
- * External Declarations for Functions found in
- * rtems/c/src/libnetworking/nfs/
- */
-extern int bootpc_call (struct dhcp_packet *call,
- struct dhcp_packet *reply,
- struct proc *procp);
-extern int bootpc_fakeup_interface (struct ifreq *ireq,
- struct socket *so,
- struct proc *procp);
-extern int bootpc_adjust_interface (struct ifreq *ireq,
- struct socket *so,
- struct sockaddr_in *myaddr,
- struct sockaddr_in *netmask,
- struct sockaddr_in *gw,
- struct proc *procp);
-extern void *bootp_strdup_realloc (char *dst,
- const char *src);
-
-/*
* Variables
*/
static int dhcp_option_overload = 0;
@@ -757,7 +739,7 @@ dhcp_task (rtems_task_argument _sdl)
/*
* Send the Request.
*/
- error = bootpc_call (&call, &dhcp_req, procp);
+ error = bootpc_call ((struct bootp_packet *)&call, (struct bootp_packet *)&dhcp_req, procp);
if (error) {
rtems_bsdnet_semaphore_release ();
printf ("DHCP call failed -- error %d", error);
@@ -963,7 +945,7 @@ dhcp_init (int update_files)
/*
* Send the Discover.
*/
- error = bootpc_call (&call, &reply, procp);
+ error = bootpc_call ((struct bootp_packet *)&call, (struct bootp_packet *)&reply, procp);
if (error) {
printf ("BOOTP call failed -- %s\n", strerror(error));
soclose (so);
@@ -992,7 +974,7 @@ dhcp_init (int update_files)
*/
dhcp_request_req (&call, &reply, sdl, true);
- error = bootpc_call (&call, &reply, procp);
+ error = bootpc_call ((struct bootp_packet *)&call, (struct bootp_packet *)&reply, procp);
if (error) {
printf ("BOOTP call failed -- %s\n", strerror(error));
soclose (so);
More information about the vc
mailing list