AppleCDDAFileSystemUtils.h [plain text]
#ifndef __APPLE_CDDA_FS_UTILS_H__
#define __APPLE_CDDA_FS_UTILS_H__
#ifndef __APPLE_CDDA_FS_DEFINES_H__
#include "AppleCDDAFileSystemDefines.h"
#endif
#include <sys/attr.h>
#ifdef __cplusplus
extern "C" {
#endif
int InsertCDDANode ( AppleCDDANodePtr newNodePtr,
struct vnode * parentVNodePtr,
struct proc * theProcPtr );
int CreateNewCDDANode ( struct mount * mountPtr,
UInt32 nodeID,
struct proc * procPtr,
struct vnode ** vNodeHandle );
int DisposeCDDANode ( struct vnode * vNodePtr,
struct proc * theProcPtr );
int CreateNewCDDAFile ( struct mount * mountPtr,
UInt32 nodeID,
AppleCDDANodeInfoPtr nodeInfoPtr,
struct proc * procPtr,
struct vnode ** vNodeHandle );
int CreateNewXMLFile ( struct mount * mountPtr,
struct proc * procPtr,
UInt32 xmlFileSize,
UInt8 * xmlData,
struct vnode ** vNodeHandle );
int CreateNewCDDADirectory ( struct mount * mountPtr,
const char * name,
UInt32 nodeID,
struct proc * procPtr,
struct vnode ** vNodeHandle );
boolean_t IsAudioTrack ( const SubQTOCInfoPtr trackDescriptorPtr );
UInt32 CalculateSize ( const QTOCDataFormat10Ptr TOCDataPtr,
UInt32 trackDescriptorOffset,
UInt32 currentA2Offset );
SInt32 ParseTOC ( struct mount * mountPtr,
UInt32 numTracks,
UInt32 xmlFileSize,
UInt8 * xmlData,
struct proc * theProc );
int GetTrackNumberFromName ( const char * name,
UInt32 * trackNumber );
int CalculateAttributeBlockSize ( struct attrlist * attrlist );
void PackAttributesBlock ( struct attrlist * attrListPtr,
struct vnode * vNodePtr,
void ** attrbufHandle,
void ** varbufHandle );
QTOCDataFormat10Ptr CreateBufferFromIORegistry ( struct mount * mountPtr );
void DisposeBufferFromIORegistry ( QTOCDataFormat10Ptr TOCDataPtr );
#ifdef __cplusplus
}
#endif
#endif // __APPLE_CDDA_FS_UTILS_H__