home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d540 / sana.lha / SANA / sana2device.i < prev    next >
Text File  |  1991-08-27  |  7KB  |  246 lines

  1.     IFND    SANA2_SANA2DEVICE_I
  2. SANA2_SANA2DEVICE_I    SET    1
  3. **
  4. **    $Filename: sana2device.i $
  5. **    $Release: Developer Information$
  6. **    $Revision: 1.8 $
  7. **    $Date: 91/05/14 $
  8. **
  9. **    Structure definitions for SANA-II devices.
  10. **
  11. **    (C) Copyright 1991 Commodore-Amiga Inc.
  12. **        All Rights Reserved
  13. **
  14.  
  15. **
  16. ** Contributions from:
  17. **    Raymond S. Brand,   rsbx@cbmvax.commodore.com,  (215) 431-9100
  18. **    Martin Hunt,      martin@cbmvax.commodore.com,  (215) 431-9100
  19. **    Perry Kivolowitz,           ASDG Incorporated,  (608) 273-6585
  20. **
  21.  
  22.     IFND    EXEC_TYPES_I
  23.     INCLUDE    "exec/types.i"
  24.     ENDC    !EXEC_TYPES_I
  25.     IFND    EXEC_PORTS_I
  26.     INCLUDE    "exec/ports.i"
  27.     ENDC    !EXEC_PORTS_I
  28.     IFND    EXEC_IO_I
  29.     INCLUDE    "exec/io.i"
  30.     ENDC    !EXEC_IO_I
  31.     IFND    DEVICES_TIMER_I
  32.     INCLUDE    "devices/timer.i"
  33.     ENDC    !DEVICES_TIMER_I
  34.     IFND    LIBRARIES_NETBUFF_I
  35.     INCLUDE "libraries/netbuff.i"
  36.     ENDC    !LIBRARIES_NETBUFF_I
  37.  
  38.  
  39. SANA2_MAX_ADDR_BITS    EQU    128
  40. SANA2_MAX_ADDR_BYTES    EQU    ((SANA2_MAX_ADDR_BITS+7)/8)
  41.  
  42.  
  43.  STRUCTURE IOSana2Req,0
  44.     STRUCT    S2IO_MESSAGE,MN_SIZE
  45.     APTR    S2IO_DEVICE        ; device node pointer
  46.     APTR    S2IO_UNIT        ; unit (driver private)
  47.  
  48.     UWORD    S2IO_COMMAND        ; device command
  49.     UBYTE    S2IO_FLAGS        ; command flags
  50.     BYTE    S2IO_ERROR        ; generic error or warning
  51.     ULONG    S2IO_WIREERROR        ; wire type specific error
  52.  
  53.     APTR    S2IO_PACKETTYPE        ; packet type
  54.     STRUCT    S2IO_SRCADDR,SANA2_MAX_ADDR_BYTES    ; source address
  55.     STRUCT    S2IO_DSTADDR,SANA2_MAX_ADDR_BYTES    ; dest address
  56.     ULONG    S2IO_DATALENGTH        ; from header
  57.  
  58.     STRUCT    S2IO_BODY,NB_SIZE    ; packet data
  59.     APTR    S2IO_STATDATA        ; statics data pointer
  60.     LABEL    S2IO_SIZE
  61.  
  62.  
  63. ;
  64. ; equates for the S2IO_FLAGS field
  65. ;
  66.  
  67. SANA2IOB_RAW    EQU    7        ; raw packet IO requested
  68. SANA2IOF_RAW    EQU    (1<<SANA2IOB_RAW)
  69.  
  70. SANA2IOB_BCAST    EQU    6        ; broadcast packet (received)
  71. SANA2IOF_BCAST    EQU    (1<<SANA2IOB_BCAST)
  72.  
  73. SANA2IOB_MCAST    EQU    5        ; multicast packet (received)
  74. SANA2IOF_MCAST    EQU    (1<<SANA2IOB_MCAST)
  75.  
  76. SANA2IOB_QUICK    EQU    IOB_QUICK    ; quick IO requested (0)
  77. SANA2IOF_QUICK    EQU    IOF_QUICK
  78.  
  79.  
  80. ;
  81. ; equates for OpenDevice()
  82. ;
  83.  
  84. SANA2OPB_MINE    EQU    0        ; exclusive access requested
  85. SANA2OPF_MINE    EQU    (1<<SANA2OPB_MINE)
  86.  
  87. SANA2OPB_PROM    EQU    1        ; promiscuous mode requested
  88. SANA2OPF_PROM    EQU    (1<<SANA2OPB_PROM)
  89.  
  90.  
  91.  STRUCTURE SANA2PACKETTYPE,0
  92.     ULONG    S2PT_CANONICALTYPE    ; used by higher levels
  93.     ULONG    S2PT_MAGIC        ; interpretation code
  94.     ULONG    S2PT_LENGTH        ; length of match data
  95.     APTR    S2PT_MATCH        ; bytes to compare
  96.     APTR    S2PT_MASK        ; mask for comparison
  97.     LABEL    S2PT_SIZE
  98.  
  99.  
  100.  STRUCTURE SANA2DEVICEQUERY,0
  101.     ; Standard information
  102.     ULONG    S2DQ_SIZEAVAILABLE    ; bytes available
  103.     ULONG    S2DQ_SIZESUPPLIED    ; bytes supplied
  104.     LONG    S2DQ_FORMAT        ; this is type 0
  105.     LONG    S2DQ_DEVICELEVEL    ; this document is level 0
  106.  
  107.     ; Common information
  108.     UWORD    S2DQ_ADDRSIZE        ; address size in bits
  109.     ULONG    S2DQ_MTU        ; maximum packet data size
  110.     LONG    S2DQ_BPS        ; line rate (bits/sec)
  111.     LONG    S2DQ_HARDWARETYPE    ; what the wire is
  112.  
  113.     ; Format specific information
  114.     LABEL    S2DQ_SIZE
  115.  
  116.  
  117. ;
  118. ; defined SANA-II hardware types
  119. ;
  120.  
  121. S2WIRETYPE_ETHERNET        EQU    1
  122. S2WIRETYPE_ARCNET        EQU    2
  123.  
  124.  
  125.  STRUCTURE SANA2PACKETTYPESTATS,0
  126.     LONG    S2PTS_TXPACKETS        ; transmitted count
  127.     LONG    S2PTS_RXPACKETS        ; received count
  128.     LONG    S2PTS_TXBYTES        ; bytes transmitted count
  129.     LONG    S2PTS_RXBYTES        ; bytes received count
  130.     LONG    S2PTS_PACKETSDROPPED    ; packets dropped count
  131.     LABEL    S2PTS_SIZE
  132.  
  133.  
  134.  STRUCTURE SANA2SPECIALSTATRECORD,0
  135.     ULONG    S2SSR_TYPE        ; statistic identifier
  136.     LONG    S2SSR_COUNT        ; the statistic
  137.     APTR    S2SSR_STRING        ; statistic name
  138.     LABEL    S2SSR_SIZE
  139.  
  140.  
  141.  STRUCTURE SANA2SPECIALSTATHEADER,0
  142.     ULONG    S2SSH_RECORDCOUNTMAX        ; room available
  143.     ULONG    S2SSH_RECORDCOUNTSUPPLIED    ; number supplied
  144.     LABEL    S2SSH_SIZE
  145.  
  146.  
  147.  STRUCTURE SANA2DEVICESTATS,0
  148.     LONG    S2DS_RXPACKETS        ; received count
  149.     LONG    S2DS_TXPACKETS        ; transmitted count
  150.     LONG    S2DS_FRAMINGERRORS    ; framming errors found
  151.     LONG    S2DS_BADDATA        ; bad packets received
  152.     LONG    S2DS_HARDMISSES        ; hardware miss count
  153.     LONG    S2DS_SOFTMISSES        ; software miss count
  154.     LONG    S2DS_RXUNKNOWNTYPES    ; orphan count
  155.     LONG    S2DS_FIFOOVERRUNS    ; hardware overruns
  156.     LONG    S2DS_FIFOUNDERRUNS    ; hardware underruns
  157.     LONG    S2DS_RECONFIGURATIONS    ; network reconfigurations
  158.     STRUCT    S2DS_LASTSTART,TV_SIZE    ; time of last online
  159.     LABEL    S2DS_SIZE
  160.  
  161.  
  162. ;
  163. ; Device Commands
  164. ;
  165.  
  166. SANA2_CMD_START            EQU    (CMD_NONSTD)
  167.  
  168. SANA2CMD_DEVICEQUERY        EQU    (SANA2_CMD_START+0)
  169. SANA2CMD_GETSTATIONADDRESS    EQU    (SANA2_CMD_START+1)
  170. SANA2CMD_CONFIGINTERFACE    EQU    (SANA2_CMD_START+2)
  171. SANA2CMD_ADDSTATIONALIAS    EQU    (SANA2_CMD_START+3)
  172. SANA2CMD_DELSTATIONALIAS    EQU    (SANA2_CMD_START+4)
  173. SANA2CMD_ADDMULTICASTADDRESS    EQU    (SANA2_CMD_START+5)
  174. SANA2CMD_DELMULTICASTADDRESS    EQU    (SANA2_CMD_START+6)
  175. SANA2CMD_MULTICAST        EQU    (SANA2_CMD_START+7)
  176. SANA2CMD_BROADCAST        EQU    (SANA2_CMD_START+8)
  177. SANA2CMD_TRACKTYPE        EQU    (SANA2_CMD_START+9)
  178. SANA2CMD_UNTRACKTYPE        EQU    (SANA2_CMD_START+10)
  179. SANA2CMD_GETTYPESTATS        EQU    (SANA2_CMD_START+11)
  180. SANA2CMD_GETSPECIALSTATS    EQU    (SANA2_CMD_START+12)
  181. SANA2CMD_GETGLOBALSTATS        EQU    (SANA2_CMD_START+13)
  182. SANA2CMD_ONEVENT        EQU    (SANA2_CMD_START+14)
  183. SANA2CMD_READORPHAN        EQU    (SANA2_CMD_START+15)
  184. SANA2CMD_ONLINE            EQU    (SANA2_CMD_START+16)
  185. SANA2CMD_OFFLINE        EQU    (SANA2_CMD_START+17)
  186.  
  187. SANA2_CMD_END            EQU    (SANA2_CMD_START+18)
  188.  
  189.  
  190. ;
  191. ; defined errors for S2IO_ERROR
  192. ;
  193.  
  194. S2ERR_NO_ERROR        EQU    0    ; peachy-keen
  195. S2ERR_NO_RESOURCES    EQU    1    ; resource allocation failure
  196. S2ERR_UNKNOWN_ENTITY    EQU    2    ; unable to find something
  197. S2ERR_BAD_ARGUMENT    EQU    3    ; garbage somewhere
  198. S2ERR_BAD_STATE        EQU    4    ; inappropriate state
  199. S2ERR_BAD_ADDRESS    EQU    5    ; who?
  200. S2ERR_MTU_EXCEEDED    EQU    6    ; too much to chew
  201. S2ERR_BAD_PROTOCOL    EQU    7    ; bad packet type structure
  202. S2ERR_NOT_SUPPORTED    EQU    8    ; command not supported
  203. S2ERR_SOFTWARE        EQU    9    ; software error detected
  204.  
  205.  
  206. ;
  207. ; defined errors for S2IO_WIREERROR
  208. ;
  209.  
  210. S2WERR_GENERIC_ERROR    EQU    0    ; no specific info available
  211. S2WERR_NOT_CONFIGURED    EQU    1    ; unit not configured
  212. S2WERR_UNIT_ONLINE    EQU    2    ; unit is currently online
  213. S2WERR_UNIT_OFFLINE    EQU    3    ; unit is currently offline
  214. S2WERR_ALREADY_TRACKED    EQU    4    ; protocol already tracked
  215. S2WERR_NOT_TRACKED    EQU    5    ; protocol not tracked
  216. S2WERR_NETBUFF_ERROR    EQU    6    ; netbuff.lib returned error
  217. S2WERR_SRC_ADDRESS    EQU    7    ; source address problem
  218. S2WERR_DST_ADDRESS    EQU    8    ; destination address problem
  219. S2WERR_BAD_BROADCAST    EQU    9    ; broadcast address problem
  220. S2WERR_BAD_MULTICAST    EQU    10    ; multicast address problem
  221. S2WERR_ALIAS_LIST_FULL    EQU    11    ; station alias list full
  222. S2WERR_BAD_ALIAS    EQU    12    ; bad station alias
  223. S2WERR_MULTICAST_FULL    EQU    13    ; multicast address list full
  224. S2WERR_BAD_EVENT    EQU    14    ; unsupported event class
  225. S2WERR_BAD_STATDATA    EQU    15    ; statdata failed sanity check
  226. S2WERR_PROTOCOL_UNKNOWN    EQU    16    ; unknown protocol type
  227. S2WERR_IS_CONFIGURED    EQU    17    ; attempt to config twice
  228. S2WERR_NULL_POINTER    EQU    18    ; null pointer detected
  229.  
  230.  
  231. ;
  232. ; defined events
  233. ;
  234.  
  235. S2EVENT_ERROR        EQU    0    ; error catch all
  236. S2EVENT_TX        EQU    1    ; transmitter error catch all
  237. S2EVENT_RX        EQU    2    ; receiver error catch all
  238. S2EVENT_ONLINE        EQU    3    ; unit is in service
  239. S2EVENT_OFFLINE        EQU    4    ; unit is not in service
  240. S2EVENT_NETBUF        EQU    5    ; NetBuff error catch all
  241. S2EVENT_HARDWARE    EQU    6    ; hardware error catch all
  242. S2EVENT_SOFTWARE    EQU    7    ; software error catch all
  243.  
  244.  
  245.     ENDC    SANA2_SANA2DEVICE_I
  246.