iSeries_VpdInfo.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:3k
源码类别:
Linux/Unix编程
开发平台:
Unix_Linux
- #ifndef _ISERIES_VPDINFO_H
- #define _ISERIES_VPDINFO_H
- /************************************************************************/
- /* File iSeries_VpdInfo.h created by Allan Trautman Feb 08 2001. */
- /************************************************************************/
- /* This code supports the location data fon on the IBM iSeries systems. */
- /* Copyright (C) 20yy <Allan H Trautman> <IBM Corp> */
- /* */
- /* 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 */
- /* (at your option) 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., */
- /* 59 Temple Place, Suite 330, */
- /* Boston, MA 02111-1307 USA */
- /************************************************************************/
- /* Change Activity: */
- /* Created, Feg 8, 2001 */
- /* Reformated for Card, March 8, 2001 */
- /* End Change Activity */
- /************************************************************************/
- struct pci_dev; /* Forward Declare */
- /************************************************************************/
- /* Location Data extracted from the VPD list and device info. */
- /************************************************************************/
- struct LocationDataStruct { /* Location data structure for device */
- u16 Bus; /* iSeries Bus Number 0x00*/
- u16 Board; /* iSeries Board 0x02*/
- u8 FrameId; /* iSeries spcn Frame Id 0x04*/
- u8 PhbId; /* iSeries Phb Location 0x05*/
- u16 Card; /* iSeries Card Slot 0x06*/
- char CardLocation[4]; /* Char format of planar vpd 0x08*/
- u8 AgentId; /* iSeries AgentId 0x0C*/
- u8 SecondaryAgentId; /* iSeries Secondary Agent Id 0x0D*/
- u8 LinuxBus; /* Linux Bus Number 0x0E*/
- u8 LinuxDevFn; /* Linux Device Function 0x0F*/
- };
- typedef struct LocationDataStruct LocationData;
- #define LOCATION_DATA_SIZE 16
- /************************************************************************/
- /* Protypes */
- /************************************************************************/
- extern LocationData* iSeries_GetLocationData(struct pci_dev* PciDev);
- extern int iSeries_Device_Information(struct pci_dev*,char*, int);
- #endif /* _ISERIES_VPDINFO_H */