98 lines
3.7 KiB
C
98 lines
3.7 KiB
C
|
/******************************************************************************
|
||
|
*
|
||
|
* 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 */
|