/* * pnp.h - Definitions for rom PnP BIOS interface * * Copyright (C) 1998-2003 Gero Kuhlmann * * 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.h,v 1.4 2003/01/25 23:29:43 gkminix Exp $ */ /* * Offset to pointer to PnP expansion header */ #define PNP_HDROFS 0x001A /* * Structure holding a PnP expansion header */ struct pnphdr { unsigned char sig[4]; /* Header signature */ unsigned char revision; /* Header structure revision */ unsigned char size; /* Size of header in 16-byte-blocks */ unsigned short next; /* Offset of next header */ unsigned char reserved1; unsigned char chksum; /* Header checksum */ unsigned char devid[4]; /* Device identifier */ unsigned short manufacturer; /* Pointer to manufacturer string */ unsigned short productname; /* Pointer to product name string */ unsigned char devtype[3]; /* Device type code */ unsigned char devind; /* Device indicators */ unsigned short bcv; /* Boot connection vector */ unsigned short dv; /* Disconnect vector */ unsigned short bev; /* Bootstrap entry vector */ unsigned short reserved2; unsigned short sriv; /* Static resource information vector */ }; /* * Flag mask for device indicator field */ #define DEVIND_DDIM 0x80 /* rom supports DDIM */ #define DEVIND_SHADOW 0x40 /* rom my be shadowed in ram */ #define DEVIND_CACHE 0x20 /* rom is read cacheable */ #define DEVIND_BOOT 0x10 /* rom only required for booting */ #define DEVIND_IPL 0x04 /* device is an IPL device */ #define DEVIND_INPUT 0x02 /* device is an input device */ #define DEVIND_DISP 0x01 /* device is a display device */