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/vnode.h>
#include <sys/attr.h>
#ifdef __cplusplus
extern "C" {
#endif
int InsertCDDANode ( AppleCDDANodePtr newNodePtr,
vnode_t parentVNodePtr,
struct proc * theProcPtr );
int CreateNewCDDANode ( mount_t mountPtr,
UInt32 nodeID,
enum vtype vNodeType,
vnode_t parentVNodePtr,
struct componentname * compNamePtr,
vnode_t * vNodeHandle );
int DisposeCDDANode ( vnode_t vNodePtr );
int CreateNewCDDAFile ( mount_t mountPtr,
UInt32 nodeID,
AppleCDDANodeInfoPtr nodeInfoPtr,
vnode_t parentVNodePtr,
struct componentname * compNamePtr,
vnode_t * vNodeHandle );
int CreateNewXMLFile ( mount_t mountPtr,
UInt32 xmlFileSize,
UInt8 * xmlData,
vnode_t parentVNodePtr,
struct componentname * compNamePtr,
vnode_t * vNodeHandle );
int CreateNewCDDADirectory ( mount_t mountPtr,
UInt32 nodeID,
vnode_t * vNodeHandle );
boolean_t IsAudioTrack ( const SubQTOCInfoPtr trackDescriptorPtr );
UInt32 CalculateSize ( const QTOCDataFormat10Ptr TOCDataPtr,
UInt32 trackDescriptorOffset,
UInt32 currentA2Offset );
SInt32 ParseTOC ( mount_t mountPtr,
UInt32 numTracks );
int GetTrackNumberFromName ( const char * name,
UInt32 * trackNumber );
int CalculateAttributeBlockSize ( struct attrlist * attrlist );
void PackAttributesBlock ( struct attrlist * attrListPtr,
vnode_t vNodePtr,
void ** attrbufHandle,
void ** varbufHandle );
QTOCDataFormat10Ptr CreateBufferFromIORegistry ( mount_t mountPtr );
void DisposeBufferFromIORegistry ( QTOCDataFormat10Ptr TOCDataPtr );
#ifdef __cplusplus
}
#endif
#endif // __APPLE_CDDA_FS_UTILS_H__