//==========================================================================
|
//==========================================================================
|
//
|
//
|
// include/network.h
|
// include/network.h
|
//
|
//
|
// Misc network support
|
// Misc network support
|
//
|
//
|
//==========================================================================
|
//==========================================================================
|
//####BSDCOPYRIGHTBEGIN####
|
//####BSDCOPYRIGHTBEGIN####
|
//
|
//
|
// -------------------------------------------
|
// -------------------------------------------
|
//
|
//
|
// Portions of this software may have been derived from OpenBSD or other sources,
|
// Portions of this software may have been derived from OpenBSD or other sources,
|
// and are covered by the appropriate copyright disclaimers included herein.
|
// and are covered by the appropriate copyright disclaimers included herein.
|
//
|
//
|
// -------------------------------------------
|
// -------------------------------------------
|
//
|
//
|
//####BSDCOPYRIGHTEND####
|
//####BSDCOPYRIGHTEND####
|
//==========================================================================
|
//==========================================================================
|
//#####DESCRIPTIONBEGIN####
|
//#####DESCRIPTIONBEGIN####
|
//
|
//
|
// Author(s): gthomas
|
// Author(s): gthomas
|
// Contributors: gthomas
|
// Contributors: gthomas
|
// Date: 2000-01-10
|
// Date: 2000-01-10
|
// Purpose:
|
// Purpose:
|
// Description:
|
// Description:
|
//
|
//
|
//
|
//
|
//####DESCRIPTIONEND####
|
//####DESCRIPTIONEND####
|
//
|
//
|
//==========================================================================
|
//==========================================================================
|
|
|
#ifndef _NETWORK_H_
|
#ifndef _NETWORK_H_
|
#define _NETWORK_H_
|
#define _NETWORK_H_
|
|
|
#define NO_LIBKERN_INLINE // Avoid kernel inline functions
|
#define NO_LIBKERN_INLINE // Avoid kernel inline functions
|
|
|
#include <pkgconf/system.h>
|
#include <pkgconf/system.h>
|
#include <pkgconf/net.h>
|
#include <pkgconf/net.h>
|
#undef _KERNEL
|
#undef _KERNEL
|
#include <sys/param.h>
|
#include <sys/param.h>
|
#include <sys/socket.h>
|
#include <sys/socket.h>
|
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
#include <sys/errno.h>
|
#include <sys/errno.h>
|
|
|
#include <net/if.h>
|
#include <net/if.h>
|
#include <netinet/in.h>
|
#include <netinet/in.h>
|
#include <netinet/ip.h>
|
#include <netinet/ip.h>
|
#include <netinet/ip_icmp.h>
|
#include <netinet/ip_icmp.h>
|
#include <net/route.h>
|
#include <net/route.h>
|
|
|
#include <cyg/infra/diag.h>
|
#include <cyg/infra/diag.h>
|
#include <cyg/kernel/kapi.h>
|
#include <cyg/kernel/kapi.h>
|
|
|
#include <netdb.h>
|
#include <netdb.h>
|
#include <bootp.h>
|
#include <bootp.h>
|
|
|
#ifdef CYGHWR_NET_DRIVER_ETH0
|
#ifdef CYGHWR_NET_DRIVER_ETH0
|
extern struct bootp eth0_bootp_data;
|
extern struct bootp eth0_bootp_data;
|
extern cyg_bool_t eth0_up;
|
extern cyg_bool_t eth0_up;
|
extern const char *eth0_name;
|
extern const char *eth0_name;
|
#endif
|
#endif
|
#ifdef CYGHWR_NET_DRIVER_ETH1
|
#ifdef CYGHWR_NET_DRIVER_ETH1
|
extern struct bootp eth1_bootp_data;
|
extern struct bootp eth1_bootp_data;
|
extern cyg_bool_t eth1_up;
|
extern cyg_bool_t eth1_up;
|
extern const char *eth1_name;
|
extern const char *eth1_name;
|
#endif
|
#endif
|
|
|
__externC void init_all_network_interfaces(void);
|
__externC void init_all_network_interfaces(void);
|
|
|
__externC void cyg_route_reinit(void);
|
__externC void cyg_route_reinit(void);
|
__externC void perror(const char *);
|
__externC void perror(const char *);
|
__externC int close(int);
|
__externC int close(int);
|
__externC ssize_t read(int, void *, size_t);
|
__externC ssize_t read(int, void *, size_t);
|
__externC ssize_t write(int, const void *, size_t);
|
__externC ssize_t write(int, const void *, size_t);
|
__externC int select(int, fd_set *, fd_set *, fd_set *, struct timeval *tv);
|
__externC int select(int, fd_set *, fd_set *, fd_set *, struct timeval *tv);
|
|
|
// This API is for our own automated network tests.
|
// This API is for our own automated network tests.
|
// It's not at all supported.
|
// It's not at all supported.
|
#define CYG_NET_GET_MEM_STATS_MISC 0 // Misc mpool
|
#define CYG_NET_GET_MEM_STATS_MISC 0 // Misc mpool
|
#define CYG_NET_GET_MEM_STATS_MBUFS 1 // Mbufs pool
|
#define CYG_NET_GET_MEM_STATS_MBUFS 1 // Mbufs pool
|
#define CYG_NET_GET_MEM_STATS_CLUST 2 // Clust pool
|
#define CYG_NET_GET_MEM_STATS_CLUST 2 // Clust pool
|
int cyg_net_get_mem_stats( int which, cyg_mempool_info *p );
|
int cyg_net_get_mem_stats( int which, cyg_mempool_info *p );
|
|
|
#endif // _NETWORK_H_
|
#endif // _NETWORK_H_
|
|
|