mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-11-16 12:34:45 +00:00
network/bootp: PR2031: Add and use header file
This commit is contained in:
committed by
Gedare Bloom
parent
89dd2ec437
commit
a078d6f0ab
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
41
cpukit/libnetworking/rtems/bootp.h
Normal file
41
cpukit/libnetworking/rtems/bootp.h
Normal file
@@ -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
|
||||
@@ -12,6 +12,8 @@
|
||||
#include <rtems/rtems_bsdnet.h>
|
||||
#include <rtems/rtems_bsdnet_internal.h>
|
||||
|
||||
#include "rtems/bootp.h"
|
||||
|
||||
/*
|
||||
* Perform a BOOTP request
|
||||
*/
|
||||
|
||||
@@ -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, ...);
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@
|
||||
#include <rtems/mkrootfs.h>
|
||||
|
||||
#include "rtems/dhcp.h"
|
||||
#include "rtems/bootp.h"
|
||||
|
||||
#ifndef EALEN
|
||||
#define EALEN 6
|
||||
@@ -166,25 +167,6 @@ struct dhcp_packet
|
||||
unsigned char vend[312];
|
||||
};
|
||||
|
||||
/*
|
||||
* 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
|
||||
*/
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user