!**************************************************************************
!*
!* Boot-ROM-Code to load an operating system across a TCP/IP network.
!*
!* Module:  pnp.inc
!* Purpose: Definitions for accessing PnP BIOS functions
!* Entries: None
!*
!**************************************************************************
!*
!* Copyright (C) 1999-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: pnp.inc,v 1.4 2003/01/25 23:29:40 gkminix Exp $
!*

#ifndef _HW_PNP_INC
#define _HW_PNP_INC


!
!**************************************************************************
!
! PnP entry point structure:
!
PNPE_SIG	equ	$0000		! entry point structure signature
PNPE_VERSION	equ	$0004		! structure version number
PNPE_LENGTH	equ	$0005		! structure length
PNPE_CONTROL	equ	$0006		! system capabilities information
PNPE_CHECKSUM	equ	$0008		! structure checksum
PNPE_EVENT	equ	$0009		! event notification flag address
PNPE_REAL_OFS	equ	$000D		! real mode offset to entry point
PNPE_REAL_SEG	equ	$000F		! real mode segment of entry point
PNPE_PROT_OFS	equ	$0011		! protected mode offset to entry point
PNPE_PROT_BASE	equ	$0013		! protected mode code segment base
PNPE_DEVID	equ	$0017		! OEM device identifier
PNPE_REAL_DATA	equ	$001B		! real mode data segment
PNPE_PROT_DATA	equ	$001D		! protected mode data segment base


!
!**************************************************************************
!
! System capabilities flags:
!
PNP_EVENT_MASK	equ	%000000000000011	! bit mask
PNP_EVENT_POLL	equ	%000000000000001	! event handled through polling
PNP_EVENT_ASYNC	equ	%000000000000010	! event is asynchronous


!
!**************************************************************************
!
! PnP BIOS functions:
!
PNP_FUNC_GET_NODE_NUM	equ	$0000		! get number of system nodes
PNP_FUNC_GET_NODE	equ	$0001		! get system device node
PNP_FUNC_SET_NODE	equ	$0002		! set system device node
PNP_FUNC_GET_EVENT	equ	$0003		! get event
PNP_FUNC_SEND_MSG	equ	$0004		! send message
PNP_FUNC_GET_DOCK_INFO	equ	$0005		! get docking station info
PNP_FUNC_SET_PRIM_BOOT	equ	$0007		! set primary boot device
PNP_FUNC_GET_PRIM_BOOT	equ	$0008		! get primary boot device
PNP_FUNC_SET_SARI	equ	$0009		! set statically allocated info
PNP_FUNC_GET_SARI	equ	$000A		! get statically allocated info
PNP_FUNC_GET_APM_ID	equ	$000B		! get APM ID table
PNP_FUNC_GET_CONFIG	equ	$0040		! get PnP config structure
PNP_FUNC_GET_ESCD	equ	$0041		! get ESCD info
PNP_FUNC_READ_ESCD	equ	$0042		! read ESCD data
PNP_FUNC_WRITE_ESCD	equ	$0043		! write ESCD data
PNP_FUNC_GET_BBS_VER	equ	$0060		! get BBS version number
PNP_FUNC_GET_DEV_COUNT	equ	$0061		! get BBS device count
PNP_FUNC_GET_PRIORITY	equ	$0062		! get BBS priority and table
PNP_FUNC_SET_PRIORITY	equ	$0063		! set BBS priority
PNP_FUNC_GET_IPL_DEV	equ	$0064		! get IPL device from last boot
PNP_FUNC_GET_BOOT_FIRST	equ	$0065		! get first boot device
PNP_FUNC_SET_BOOT_FIRST	equ	$0066		! set first boot device


!
!**************************************************************************
!
! Return codes:
!
PNP_RET_SUCCESS		equ	$0000		! success
PNP_RET_UNKNOWN		equ	$0081		! unknown function
PNP_RET_UNSUPPORTED	equ	$0082		! function unsupported
PNP_RET_INV_HANDLE	equ	$0083		! invalid handle
PNP_RET_BAD_PARAM	equ	$0084		! invalid function parameter
PNP_RET_SET_FAILED	equ	$0085		! set device node failed
PNP_RET_NO_EVENTS	equ	$0086		! no events pending
PNP_RET_NOT_DOCKED	equ	$0087		! system is not docked
PNP_RET_NO_PNP_CARDS	equ	$0088		! no ISA PnP cards found
PNP_RET_DOCK_CAP	equ	$0089		! not able to determine docking
PNP_RET_NO_BATT		equ	$008A		! no battery in docking station
PNP_RET_RES_CONFLICT	equ	$008B		! resource conflict
PNP_RET_BUFFER_SMALL	equ	$008C		! buffer too small
PNP_RET_USE_ESCD	equ	$008D		! have to use ESCD functions
PNP_RET_MSG_UNSUPPORTED	equ	$008E		! message type not supported
PNP_RET_HW_ERROR	equ	$008F		! hardware failure


!
!**************************************************************************
!
! Plug and Play ISA configuration structure:
!
PNP_CONF_REV		equ	$0000		! structure revision
PNP_CONF_CSN_NUM	equ	$0001		! total number of CSNs assigned
PNP_CONF_DATA_PORT	equ	$0002		! ISA read data port

PNP_CONF_SIZE		equ	$0006		! size of structure


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



syntax highlighted by Code2HTML, v. 0.9.1