/****************************************************************************** * * Author: Xilinx, Inc. * * * 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. * * * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A * COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS * ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, * XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE * FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING * ANY THIRD PARTY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. * XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO * THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY * WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM * CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE. * * * Xilinx hardware products are not intended for use in life support * appliances, devices, or systems. Use in such applications is * expressly prohibited. * * * (c) Copyright 2002-2004 Xilinx Inc. * All rights reserved. * * * 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. * ******************************************************************************/ /***************************************************************************** * * This file contains the interface for the XVersion component. This * component represents a version ID. It is encapsulated within a component * so that it's type and implementation can change without affecting users of * it. * * The version is formatted as X.YYZ where X = 0 - 9, Y = 00 - 99, Z = a - z * X is the major revision, YY is the minor revision, and Z is the * compatability revision. * * Packed versions are also utilized for the configuration ROM such that * memory is minimized. A packed version consumes only 16 bits and is * formatted as follows. * *
* Revision Range Bit Positions * * Major Revision 0 - 9 Bits 15 - 12 * Minor Revision 0 - 99 Bits 11 - 5 * Compatability Revision a - z Bits 4 - 0 ** ******************************************************************************/ #ifndef XVERSION_H /* prevent circular inclusions */ #define XVERSION_H /* by using protection macros */ /***************************** Include Files *********************************/ #include "xbasic_types.h" #include "xstatus.h" /************************** Constant Definitions *****************************/ /**************************** Type Definitions *******************************/ /* the following data type is used to hold a null terminated version string * consisting of the following format, "X.YYX" */ typedef s8 XVersion[6]; /***************** Macros (Inline Functions) Definitions *********************/ /************************** Function Prototypes ******************************/ void XVersion_UnPack(XVersion * InstancePtr, u16 PackedVersion); XStatus XVersion_Pack(XVersion * InstancePtr, u16 * PackedVersion); u32 XVersion_IsEqual(XVersion * InstancePtr, XVersion * VersionPtr); void XVersion_ToString(XVersion * InstancePtr, s8 * StringPtr); XStatus XVersion_FromString(XVersion * InstancePtr, s8 * StringPtr); void XVersion_Copy(XVersion * InstancePtr, XVersion * VersionPtr); #endif /* end of protection macro */