|  | /****************************************************************************** | 
|  | * | 
|  | *     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. | 
|  | * | 
|  | * <pre> | 
|  | * 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 | 
|  | * </pre> | 
|  | * | 
|  | ******************************************************************************/ | 
|  |  | 
|  | #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 */ |