fb fix, ts fix, flash ttfs experemental

This commit is contained in:
Angell Fear
2010-10-16 00:02:07 +06:00
parent 467299d85c
commit d2b8544195
220 changed files with 113734 additions and 460 deletions

189
Start_WM/test6/inc/GFBDev.h Executable file
View File

@@ -0,0 +1,189 @@
/*
* Copyright 2003-2005 NVIDIA Corporation. All Rights Reserved.
*
* BY INSTALLING THE SOFTWARE THE USER AGREES TO THE TERMS BELOW.
*
* User agrees to use the software under carefully controlled conditions
* and to inform all employees and contractors who have access to the software
* that the source code of the software is confidential and proprietary
* information of NVIDIA and is licensed to user as such. User acknowledges
* and agrees that protection of the source code is essential and user shall
* retain the source code in strict confidence. User shall restrict access to
* the source code of the software to those employees and contractors of user
* who have agreed to be bound by a confidentiality obligation which
* incorporates the protections and restrictions substantially set forth
* herein, and who have a need to access the source code in order to carry out
* the business purpose between NVIDIA and user. The software provided
* herewith to user may only be used so long as the software is used solely
* with NVIDIA products and no other third party products (hardware or
* software). The software must carry the NVIDIA copyright notice shown
* above. User must not disclose, copy, duplicate, reproduce, modify,
* publicly display, create derivative works of the software other than as
* expressly authorized herein. User must not under any circumstances,
* distribute or in any way disseminate the information contained in the
* source code and/or the source code itself to third parties except as
* expressly agreed to by NVIDIA. In the event that user discovers any bugs
* in the software, such bugs must be reported to NVIDIA and any fixes may be
* inserted into the source code of the software by NVIDIA only. User shall
* not modify the source code of the software in any way. User shall be fully
* responsible for the conduct of all of its employees, contractors and
* representatives who may in any way violate these restrictions.
*
* NO WARRANTY
* THE ACCOMPANYING SOFTWARE (INCLUDING OBJECT AND SOURCE CODE) PROVIDED BY
* NVIDIA TO USER IS PROVIDED "AS IS." NVIDIA DISCLAIMS ALL WARRANTIES,
* EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT.
* LIMITATION OF LIABILITY
* NVIDIA SHALL NOT BE LIABLE TO USER, USER'S CUSTOMERS, OR ANY OTHER PERSON
* OR ENTITY CLAIMING THROUGH OR UNDER USER FOR ANY LOSS OF PROFITS, INCOME,
* SAVINGS, OR ANY OTHER CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE, DIRECT
* OR INDIRECT DAMAGES (WHETHER IN AN ACTION IN CONTRACT, TORT OR BASED ON A
* WARRANTY), EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF THE
* ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. IN NO EVENT SHALL NVIDIA'S
* AGGREGATE LIABILITY TO USER OR ANY OTHER PERSON OR ENTITY CLAIMING THROUGH
* OR UNDER USER EXCEED THE AMOUNT OF MONEY ACTUALLY PAID BY USER TO NVIDIA
* FOR THE SOFTWARE PROVIDED HEREWITH.
*/
/*
* File: GFBDev.h
* GFSDK Block Device API header file.
*/
#ifndef GF_BDEV_H
#define GF_BDEV_H
#include "GF.h"
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
/** @addtogroup groupBDev BDevAPI Block Device API
*/
/*@{*/
/** Block Device Capability definitions
Low 12 bits are for device types.
Matches GFFDEV_CAP_DEVICE_xxx in GFFDev.h
*/
#define GFBDEV_CAP_SD GFFDEV_CAP_DEVICE_SD /**< SD Storage Supported */
#define GFBDEV_CAP_SDIO GFFDEV_CAP_DEVICE_SDIO /***< SDIO Supported */
#define GFBDEV_CAP_MOUNT 0x00010000 /**< Mount/Unmount Supported */
#define GFBDEV_CAP_DEVICE_MASK 0x00000FFF
/** GFDRV_INFO: File system run-time struct.
Created when the volume is mounted via GFBDevMount (@see GFBDevMount()).
sec_total, sec_size, read, and write are filled in by
GFBDevMount() (or its lower level out-calls).
read is mapped to BDevSDRead
write is mapped to BDevSDWrite
-- see GFBDevSD.c for details.
*/
typedef struct _GFDRV_INFO
{
NvU32 dev;
NvU32 fat_type;
NvU32 sec_size;
NvU32 sec_total;
NvU32 cluster_size;
NvU32 cluster_total;
NvU32 rel_sec;
NvU32 data_sec_count;
NvU32 fat_sec_count;
NvU32 dir_count;
NvU32 root_sec_count;
NvU32 boot_sec;
NvU32 fat1_sec;
NvU32 fat2_sec;
NvU32 root_sec;
NvU32 data_sec;
NvU32 reFormat;
NvU32 (*upd_fat)( struct _GFDRV_INFO *drv, NvU32 ndx, NvU32 data );
NvU32 (*new_fat)( struct _GFDRV_INFO *drv, NvU32 ndx );
NvU32 (*next_fat)( struct _GFDRV_INFO *drv, NvU32 ndx );
NvU32 (*get_fat)( struct _GFDRV_INFO *drv, NvU32 ndx );
NvU32 (*read)( NvU32 dev, NvU32 sec, NvU32 secSize, NvU32 count,
NvU32 buf );
NvU32 (*write)( NvU32 dev, NvU32 sec, NvU32 secSize, NvU32 count,
NvU32 buf );
unsigned char *part_tab;
unsigned char *boot_tab;
unsigned char *fat_tab;
unsigned char *dir_tab;
} GFDRV_INFO;
/* Publicly exposed Block Device API function in the table */
/** @internal */
typedef struct _GFBDEVTABLE
{
GF_RETTYPE (* BDevGetProperty)( GFBDevHandle BDevHandle,
PGFPROPERTY pBDevProp );
GF_RETTYPE (* BDevMount)( GFBDevHandle BDevHandle,
GFDRV_INFO **pDrvInfo );
GF_RETTYPE (* BDevUnmount)( GFBDevHandle BDevHandle );
} GFBDEVTABLE, *PGFBDEVTABLE;
// Typesafe functions for opening and closing this component
GF_RETTYPE GFBDevSDOpen(GFRmHandle hRm, GFBDevHandle *phBDev,
GF_STATE_TYPE state, GFRmChHandle hCh);
void GFBDevClose(GFRmHandle hRm, GFBDevHandle *phBDev);
/** @name Functions
@{*/
/** Gets BDev API properties.
@param BDevHandle (#GFBDevHandle) Handle to the Block Device API
@param pBDevProp (#PGFPROPERTY) pointer to property struct.
@retval #GF_SUCCESS Success
@retval #GF_ERROR Error
*/
#define GFBDevGetProperty( BDevHandle, pBDevProp ) \
((PGFBDEVTABLE)BDevHandle)->BDevGetProperty( BDevHandle, pBDevProp )
/** Initializes the SD device and run-time support structure.
@param BDevHandle (#GFBDevHandle) Handle to the Block Device API
@param pDrvInfo (#GFDRV_INFO) run-time support struct
This creates and assigns a #GFDRV_INFO into
the given BDevHandle (actually a #BDEVSDTABLE).
Read and Write functions are assinged into the #GFDRV_INFO which
should be used by higher-level file systems to access the SD
device.
@retval #GF_SUCCESS Success
@retval #GF_ERROR Error
*/
#define GFBDevMount( BDevHandle, pDrvInfo ) \
((PGFBDEVTABLE)BDevHandle)->BDevMount( BDevHandle, pDrvInfo )
/** Uninitializes the SD device.
@param BDevHandle (#GFBDevHandle) Handle to the Block Device API
@retval #GF_SUCCESS Success
@retval #GF_ERROR Error
*/
#define GFBDevUnmount( BDevHandle ) \
((PGFBDEVTABLE)BDevHandle)->BDevUnmount( BDevHandle )
/*@}*/
/*@}*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GF_BDEV_H */