⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udf_getudf.h

📁 本程序为ST公司开发的源代码
💻 H
字号:
/************************************************** * * UDF_getUDF.h * * CVS ID:   $Id: UDF_getUDF.h,v 1.10 2006/11/21 11:54:57 longauer Exp $ * Author:   Jiri Sedmik [JS] - STM * Date:     $Date: 2006/11/21 11:54:57 $ * Revision: $Revision: 1.10 $ * * Description: * * *************************************************** * * COPYRIGHT (C) ST Microelectronics  2005 *            All Rights Reserved * *************************************************** * * STM CVS Log: * * $Log: UDF_getUDF.h,v $ * Revision 1.10  2006/11/21 11:54:57  longauer * *** empty log message *** * * Revision 1.9  2006/11/07 19:36:10  longauer * all songs recognized on the UDF test disk 1 and 2 * * Revision 1.8  2006/10/26 13:35:15  longauer * File Entry reorganized; VAT20 re-addressing bug found * * Revision 1.7  2006/10/20 15:08:35  longauer * VAT works; + code reorganization * * Revision 1.6  2006/09/27 15:39:16  longauer * VAT first time working * * Revision 1.5  2006/09/18 09:55:22  belardi * Corrected CVS keyword usage * * Revision 1.4  2006/09/18 09:24:02  belardi * Added Log CVS keyword into file header * * ***************************************************/#ifndef _UDF_GETUDF_H#define _UDF_GETUDF_H#include "accordoptypes.h"#include "apdevsys.h"#include "UDF_types.h"#include "xfile.h"#include "filesys.h"#include "controller.h"/* for debugging messages in TERM */#define UDF_DEBUG/* Macro used for debug logging */#define UDF_DBG_PRINTF(msg) \        DBG_PRINTF ("UDF-File System DEBUG (%s, %d): ", __FILE__, __LINE__);\		DBG_PRINTF ("%s",msg);/* Function definitions */#ifdef UDF_DEBUGvoid debug_print(int start, int length, uint8* Buffer);#endif /*UDF_DEBUG*/void dstrcpy(uint16* dest, char* buffer, unsigned int size);UDF_BOOL UDF_strncmp(uint8* src, uint8* dst, uint16 length);GRESULT UDF_memcpy(void* pDestination, void* pSource, uint16 noOfElements);GRESULT UDF_tread(	DUID did, uint32 block, uint16 size,					uint8* pBuffer, int index);GRESULT UDF_Detect(DUID cdid, int partition, FS_DESCRIPTOR* fsd);GRESULT UDF_FindAnchor(	DUID			did,						uint32			startLBN,						uint32			endLBN,						uint8*			pBuffer,						UDF_ExtentAd*	pMainVol,						UDF_ExtentAd*	pReserveVol);GRESULT UDF_CheckDescriptorTag(void* pDescriptor);GRESULT UDF_GetDirItem(SCAN_STRUCT* scans, DIR_ITEM* item,uint8* buf);GRESULT UDF_findPartitions(	DUID				did,							uint8*				pBuffer,							UDF_ExtentAd*		pVolAd,							PRIVATE_DATA_UDF*	pUDF_desc);URESULT UDF_checkVATAndSparingTable(UDF_LogVolDesc_i* pLvdp, PRIVATE_DATA_UDF* pUDF_desc);GRESULT	UDF_parse_allocation_table(	FS_DESCRIPTOR*	fsd,									uint8*			pBuffer,									uint32			ICB_LBN,									UDF_ShortAD*	pallocation_descriptor_table,									uint16*			pallocation_descriptor_count,									UDF_ALLOC_DESC_FLAG*	pallocation_descriptor_flags);GRESULT	UDF_getRootNode(FS_DESCRIPTOR* fsd, UDF_Partition* pPartitionInfo, uint8* pBuffer);GRESULT UDF_getNode(DUID did, uint32 blockNo, uint8* pBuffer);GRESULT UDF_getFileDataLocations(	FS_DESCRIPTOR*	fsd,									uint8*			pBuffer,									uint32 	     	ICB_LBN,									UDF_ShortAD*	pallocation_descriptor_table,									uint16*			pallocation_descriptor_count,									UDF_ALLOC_DESC_FLAG*	pallocation_descriptor_flags,									UDF_BOOL		split_extents);GRESULT	UDF_resolveAddresses(	FS_DESCRIPTOR*	fsd,								uint32* 	pUnresolvedValue,								uint16		noOfEntries,								uint16		flag);GRESULT	UDF_resolveAddressSet(	FS_DESCRIPTOR*	fsd,								uint32*		pUnresolvedValue,								uint16		noOfEntries,								uint8*		pBuffer,								uint16		flag);								   void UDF_resolveSparingAddress(	PRIVATE_DATA_UDF*	pUDF_desc,								uint32		unresolvedValue,								uint8*		pBuffer,								uint32*		pResVal);GRESULT UDF_resolveVAT15Address(DUID		did,								uint32		unresolvedValue,								VAT_struct*	pVAT_struct,								uint8*		pBuffer,								uint32*		pResValue); GRESULT UDF_resolveVAT20Address(DUID		did,								uint32		unresolvedValue,								VAT_struct*	pVAT_struct,								uint8*		pBuffer,								uint32*		pResValue);void UDF_addPartitionLocations(	UDF_ShortAD*	pAddressBuffer,								uint32	numberOfADs,								uint32	partLoc); uint16 UDF_findNumDesc(uint8* pBuff, UDF_ALLOC_DESC_FLAG desc_flags);uint16 UDF_GetFIDLength(UDF_fileIdentDesc_i* pFileID);uint32 UDF_getADExtLength(uint8* pAD, UDF_ALLOC_DESC_FLAG desc_flags);uint32 UDF_getADExtPosition(uint8* pAD, UDF_ALLOC_DESC_FLAG desc_flags);uint16 UDF_getADPartRefNum(uint8* pAD, UDF_ALLOC_DESC_FLAG desc_flags);uint8 UDF_getADSize(UDF_ALLOC_DESC_FLAG desc_flags);void UDF_jumpToNextAD(uint8** pAD, UDF_ALLOC_DESC_FLAG desc_flags);GRESULT UDF_ExtractDirInfo(	FS_DESCRIPTOR*	fsd,							DIR_STRUCT*		dir,							UDF_ShortAD*	allocation_descriptor_table,							uint16			noOfAllocDesc,							uint8			flags);GRESULT UDF_processFID(	FS_DESCRIPTOR*	fsd,						uint8*		pBuffer,						uint32		lengthBuffer,						int32*		processedOffset,						uint16*		incompleteFID,						uint16*		indexfileID,						DIR_ITEM*	item);GRESULT	UDF_updateFIDCharacteristics(	FS_DESCRIPTOR*		fsd,										int32				Offset,										UDF_fileIdentDesc_i*	pFileID,										DIR_ITEM*			item);GRESULT UDF_resolveFIDAddress(	FS_DESCRIPTOR*		fsd,								PRIVATE_DATA_UDF*	pUDF_desc,								UDF_ShortAD*		AllocDescriptor);UDF_BOOL UDF_checkConfigParams(UDF_fileIdentDesc_i* fileID);/* End of function definitions */#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -