!**************************************************************************
!*
!* Network driver interface for netboot bootrom
!*
!* Module:  pktpriv.inc
!* Purpose: Definitions for packet driver interface
!* Entries: None
!*
!**************************************************************************
!*
!* Copyright (C) 1995-2003 Gero Kuhlmann <gero@gkminix.han.de>
!*
!*  This program is free software; you can redistribute it and/or modify
!*  it under the terms of the GNU General Public License as published by
!*  the Free Software Foundation; either version 2 of the License, or
!*  any later version.
!*
!*  This program is distributed in the hope that it will be useful,
!*  but WITHOUT ANY WARRANTY; without even the implied warranty of
!*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
!*  GNU General Public License for more details.
!*
!*  You should have received a copy of the GNU General Public License
!*  along with this program; if not, write to the Free Software
!*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!*
!* $Id: pktpriv.inc,v 1.4 2003/01/25 23:29:42 gkminix Exp $
!*

#ifndef _NETDRVR_PKTDRVR_PKTPRIV_INC
#define _NETDRVR_PKTDRVR_PKTPRIV_INC


!
!**************************************************************************
!
! Packet driver functionality levels:
!
FUNC_BASIC	equ	1		! basic functionality
FUNC_EXTENDED	equ	2		! basic + extended functionality
FUNC_HIGHPERF	equ	5		! basic + high-performance functionality
FUNC_ALL	equ	6		! basic + extended + high-performance


!
!**************************************************************************
!
! Receive modes:
!
MODE_RCVOFF	equ	1		! turn receiver off
MODE_DIRECTED	equ	2		! receive only directed packets
MODE_BROADCAST	equ	3		! mode 2 plus broadcast packets
MODE_MCASTLIM	equ	4		! mode 3 plus limited multicast
MODE_MCASTALL	equ	5		! mode 3 plus all multicast
MODE_ALL	equ	6		! all packets


!
!**************************************************************************
!
! Packet driver interface classes:
!
CL_NONE		equ	0
CL_ETHERNET	equ	1
CL_PRONET_10	equ	2
CL_IEEE8025	equ	3
CL_OMNINET	equ	4
CL_APPLETALK	equ	5
CL_SERIAL_LINE	equ	6
CL_STARLAN	equ	7
CL_ARCNET	equ	8
CL_AX25		equ	9
CL_KISS		equ	10
CL_IEEE8023	equ	11
CL_FDDI 	equ	12
CL_INTERNET_X25 equ	13
CL_LANSTAR	equ	14
CL_SLFP 	equ	15
CL_NETROM	equ	16
CL_DEFAULT	equ	CL_ETHERNET	! default class (do not change)


!
!**************************************************************************
!
! Packet driver interface types:
!
TYPE_TC500	equ	1
TYPE_PC2000	equ	10
TYPE_WD8003	equ	14
TYPE_PC8250	equ	15
TYPE_ANY	equ	$FFFF
TYPE_DEFAULT	equ	TYPE_ANY	! default type (do not change)


!
!**************************************************************************
!
! Layout of statistics structure returned by packet driver:
!
STAT_PKT_IN	equ	$0000		! packets in
STAT_PKT_OUT	equ	$0004		! packets out
STAT_BYTES_IN	equ	$0008		! bytes in
STAT_BYTES_OUT	equ	$000C		! bytes out
STAT_ERR_IN	equ	$0010		! errors in
STAT_ERR_OUT	equ	$0014		! errors out
STAT_PKT_LOST	equ	$0018		! packets lost


!
!**************************************************************************
!
! Packet driver error return codes:
!
ERR_NO_ERROR		equ	0
ERR_BAD_HANDLE		equ	1	! invalid handle number
ERR_NO_CLASS		equ	2	! no interfaces of specified class
ERR_NO_TYPE		equ	3	! no interfaces of specified type
ERR_NO_NUMBER		equ	4	! no interfaces of specified number
ERR_BAD_TYPE		equ	5	! bad packet type specified
ERR_NO_MULTICAST	equ	6	! interface does not support multicast
ERR_CANT_TERMINATE	equ	7	! packet driver cannot terminate
ERR_BAD_MODE		equ	8	! invalid receiver mode
ERR_NO_SPACE		equ	9	! insufficient space
ERR_TYPE_INUSE		equ	10	! type not released
ERR_BAD_COMMAND		equ	11	! command not implemented
ERR_CANT_SEND		equ	12	! cant send packet (hardware error)
ERR_CANT_SET		equ	13	! cant change hardware address
ERR_BAD_ADDRESS		equ	14	! bad hardware address
ERR_CANT_RESET		equ	15	! couldnt reset interface


!
!**************************************************************************
!
! Packet driver function call numbers. These names and numbers are the
! same as in Appendix B of the packet driver specification:
!
DRIVER_INFO		equ	1	! get information about the interface
ACCESS_TYPE		equ	2	! set packet access type
RELEASE_TYPE		equ	3	! release packet access type
SEND_PKT		equ	4	! send a packet
TERMINATE		equ	5	! terminate packet driver
GET_ADDRESS		equ	6	! get hardware address
RESET_INTERFACE		equ	7	! reset the interface
GET_PARAMETERS		equ	10	! get several driver parameters
AS_SEND_PKT		equ	11	! send packet with upcall
SET_RCV_MODE		equ	20	! set receive mode
GET_RCV_MODE		equ	21	! get receive mode
SET_MULTICAST_LIST	equ	22	! set multicast address list
GET_MULTICAST_LIST	equ	23	! get multicast address list
GET_STATISTICS		equ	24	! get transfer statistics
SET_ADDRESS		equ	25	! set hardware address


!
!**************************************************************************
!
#endif



syntax highlighted by Code2HTML, v. 0.9.1