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 */
 |