diff options
Diffstat (limited to 'cpukit/libnetworking/rtems')
-rw-r--r-- | cpukit/libnetworking/rtems/bootp.h | 41 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_bootp.c | 2 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_bsdnet_internal.h | 1 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_dhcp.c | 26 |
4 files changed, 47 insertions, 23 deletions
diff --git a/cpukit/libnetworking/rtems/bootp.h b/cpukit/libnetworking/rtems/bootp.h new file mode 100644 index 0000000000..d8eeb76f8f --- /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 852d900a04..2743dc0a05 100644 --- a/cpukit/libnetworking/rtems/rtems_bootp.c +++ b/cpukit/libnetworking/rtems/rtems_bootp.c @@ -8,6 +8,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 d9be5af2d3..b7f79cb9be 100644 --- a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h +++ b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h @@ -173,7 +173,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 951f74d565..4039a48200 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; @@ -755,7 +737,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); @@ -960,7 +942,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); @@ -989,7 +971,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); |