100 lines
2.1 KiB
C
100 lines
2.1 KiB
C
|
/*
|
||
|
* Copyright (C) 1995 Advanced RISC Machines Limited. All rights reserved.
|
||
|
*
|
||
|
* This software may be freely used, copied, modified, and distributed
|
||
|
* provided that the above copyright notice is preserved in all copies of the
|
||
|
* software.
|
||
|
*/
|
||
|
|
||
|
/* -*-C-*-
|
||
|
*
|
||
|
* $Revision$
|
||
|
* $Date$
|
||
|
*
|
||
|
*
|
||
|
* ethernet.h: Angel drivers for Ethernet using Fusion UDP/IP stack
|
||
|
*/
|
||
|
#ifndef angel_ethernet_h
|
||
|
#define angel_ethernet_h
|
||
|
|
||
|
/*
|
||
|
* the UDP ports that Angel Ethernet uses
|
||
|
*/
|
||
|
#define CTRL_PORT 1913
|
||
|
|
||
|
/*
|
||
|
* the size of the largest packet accepted on the control socket
|
||
|
*/
|
||
|
#define CTRL_MAXPACKET 6
|
||
|
|
||
|
/*
|
||
|
* This is the "magic number" sent to the control port to
|
||
|
* request that the channel port numbers are returned
|
||
|
*/
|
||
|
#define CTRL_MAGIC "Angel"
|
||
|
|
||
|
/*
|
||
|
* Array used for responding to a request on the control port
|
||
|
*/
|
||
|
typedef unsigned char CtrlResponse[10];
|
||
|
#define RESP_MAGIC 0
|
||
|
#define RESP_DBUG 6
|
||
|
#define RESP_APPL 8
|
||
|
|
||
|
/*
|
||
|
* indices for accessing the array of port numbers sent
|
||
|
* over the control socket
|
||
|
*/
|
||
|
#define DBUG_INDEX 0
|
||
|
#define APPL_INDEX 1
|
||
|
|
||
|
#ifdef TARGET
|
||
|
|
||
|
# include "devdriv.h"
|
||
|
|
||
|
extern const struct angel_DeviceEntry angel_EthernetDevice;
|
||
|
|
||
|
/*
|
||
|
* Function: angel_EthernetPoll
|
||
|
* Purpose: Poll Fusion for newly arrived packets
|
||
|
*
|
||
|
* Pre-conditions: Called in SVC mode with the lock
|
||
|
*
|
||
|
* Params:
|
||
|
* Input: data IGNORE'd
|
||
|
*
|
||
|
* Returns: Nothing
|
||
|
*
|
||
|
* Post-conditions: Will have passed any packets received along to
|
||
|
* higher levels
|
||
|
*/
|
||
|
void angel_EthernetPoll(unsigned int data);
|
||
|
|
||
|
void angel_EthernetNOP(unsigned int data);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Function: angel_FindEthernetConfigBlock
|
||
|
* Purpose: Search the Flash for an ethernet config block and return
|
||
|
* it if found.
|
||
|
*
|
||
|
* Params: None
|
||
|
*
|
||
|
* Returns: NULL if no config block found, the address if one is found.
|
||
|
*
|
||
|
*/
|
||
|
extern angel_EthernetConfigBlock *angel_FindEthernetConfigBlock(void);
|
||
|
|
||
|
#else /* def TARGET */
|
||
|
|
||
|
# ifndef COMPILING_ON_WINDOWS
|
||
|
# define ioctlsocket(x, y, z) ioctl((x), (y), (z))
|
||
|
# define closesocket(x) close(x)
|
||
|
# endif
|
||
|
|
||
|
#endif /* def TARGET */
|
||
|
|
||
|
#endif /* ndef angel_ethernet_h */
|
||
|
|
||
|
/* EOF ethernet.h */
|