#ifndef _CSINFO_DOT_H_ #define _CSINFO_DOT_H_ //======================================================================== // // csinfo.h - structure for csinfo.c // // // // $Date: 2002/09/27 00:06:29 $ // $Revision: 1.1 $ // $ProjectRevision: 1.12 $ // // // // // HISTORY: // $Log: csinfo.h,v $ // Revision 1.1 2002/09/27 00:06:29 hgc // LCI kernel with BlueCat stuff, zlib patch, CSINFO, exser, and eepro100. // // Revision 1.7 2002/04/04 18:36:48 artl // // Revision 1.6 2002/04/03 18:44:41Z artl // - added createdWithVer member to csinfo struct // - added /proc/.csinfo0 file // Revision 1.5 2002/04/02 21:22:02Z artl // -added product model,family,class, and release to struct. // - also added uart info in struct. // Because no console servers have been shipped with new bios, this is layout version 0. // Revision 1.4 2002/03/12 19:41:12Z artl // - added checksum compare in csinfo_proc.c // - added layout version to /proc/info // Revision 1.0 2002/03/06 19:50:13Z Anthony // Initial revision // Revision 1.1 2002/03/06 19:08:20Z Anthony // Initial revision // Revision 1.3 2002/03/05 21:28:17Z artl // - removed FPGA revision // Revision 1.2 2002/03/05 21:14:47Z artl // -change layout version to U16 // - clean up on comments // // //======================================================================== #include // NOTE: If a new layout struct is created, you need to include the members // of the old layout struct. #define MAX_UARTS 17 typedef struct tag_uart_info { U32 numberOfUarts __PACKED__; U32 ioAdress __PACKED__; U32 irqNumber __PACKED__; U32 bufferFlag __PACKED__; } type_uart_info; typedef struct tag_cs_info_0 { char productVersionStr[24] __PACKED__; // prompt user char productIdStr[24] __PACKED__; // prompt user char productNameStr[64] __PACKED__; // prompt user char createdWithVer[24] __PACKED__; U32 productFamily __PACKED__; // prompt user U32 productClass __PACKED__; // prompt user U32 productModel __PACKED__; // prompt user U32 productRelease __PACKED__; // prompt user char hardwareRevisionStr[24] __PACKED__; // prompt user char FPGA_VersionStr[64] __PACKED__; // prompt user U16 numberOfPorts __PACKED__; // prompt user char terminal __PACKED__; // prompt user char console __PACKED__; // prompt user char power __PACKED__; // prompt user char modem __PACKED__; // prompt user U8 options[16] __PACKED__; // prompt user type_uart_info uarts[MAX_UARTS] __PACKED__; // prompt user } type_CS_INFO_0; typedef struct tag_cs_info_header { U8 signature[4] __PACKED__; // LTRX U16 layoutVersion __PACKED__; // U32 length __PACKED__; // U16 checkSum __PACKED__; // calculated in main } type_CS_INFO_HEADER; // top level structure typedef struct tag_cs_product_block { type_CS_INFO_HEADER csiHeader __PACKED__; union { type_CS_INFO_0 csInfo0 __PACKED__; // type_CS_INFO_1 csInfo1 __PACKED__; // type_CS_INFO_2 csInfo2 __PACKED__; } layouts; } type_CS_PRODUCT_BLOCK; #endif