📄 udf_getudf.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 + -