1/* 2 * Copyright (C) 1995 Advanced RISC Machines Limited. All rights reserved. 3 * 4 * This software may be freely used, copied, modified, and distributed 5 * provided that the above copyright notice is preserved in all copies of the 6 * software. 7 */ 8 9/* -*-C-*- 10 * 11 * $Revision: 1.2 $ 12 * $Date: 1998/01/08 11:12:08 $ 13 * 14 * 15 * ethernet.h: Angel drivers for Ethernet using Fusion UDP/IP stack 16 */ 17#ifndef angel_ethernet_h 18#define angel_ethernet_h 19 20/* 21 * the UDP ports that Angel Ethernet uses 22 */ 23#define CTRL_PORT 1913 24 25/* 26 * the size of the largest packet accepted on the control socket 27 */ 28#define CTRL_MAXPACKET 6 29 30/* 31 * This is the "magic number" sent to the control port to 32 * request that the channel port numbers are returned 33 */ 34#define CTRL_MAGIC "Angel" 35 36/* 37 * Array used for responding to a request on the control port 38 */ 39typedef unsigned char CtrlResponse[10]; 40#define RESP_MAGIC 0 41#define RESP_DBUG 6 42#define RESP_APPL 8 43 44/* 45 * indices for accessing the array of port numbers sent 46 * over the control socket 47 */ 48#define DBUG_INDEX 0 49#define APPL_INDEX 1 50 51#ifdef TARGET 52 53# include "devdriv.h" 54 55extern const struct angel_DeviceEntry angel_EthernetDevice; 56 57/* 58 * Function: angel_EthernetPoll 59 * Purpose: Poll Fusion for newly arrived packets 60 * 61 * Pre-conditions: Called in SVC mode with the lock 62 * 63 * Params: 64 * Input: data IGNORE'd 65 * 66 * Returns: Nothing 67 * 68 * Post-conditions: Will have passed any packets received along to 69 * higher levels 70 */ 71void angel_EthernetPoll(unsigned int data); 72 73void angel_EthernetNOP(unsigned int data); 74 75 76/* 77 * Function: angel_FindEthernetConfigBlock 78 * Purpose: Search the Flash for an ethernet config block and return 79 * it if found. 80 * 81 * Params: None 82 * 83 * Returns: NULL if no config block found, the address if one is found. 84 * 85 */ 86extern angel_EthernetConfigBlock *angel_FindEthernetConfigBlock(void); 87 88#else /* def TARGET */ 89 90# ifndef COMPILING_ON_WINDOWS 91# define ioctlsocket(x, y, z) ioctl((x), (y), (z)) 92# define closesocket(x) close(x) 93# endif 94 95#endif /* def TARGET */ 96 97#endif /* ndef angel_ethernet_h */ 98 99/* EOF ethernet.h */ 100