Sir,
I thank you for giving me a good
pointer to start my
adventure. I am already going through the B*
tree
information and start gathering information
from your named
sources too.
I came to know that you are in Apple. I want
to give you
a more clear picture of my
plans.
Aim of the Project : To create a Hybrid CD
image which can be afterwards written to a Blank CD/DVD to make a Hybrid
CD/DVD.
Platforms : The Image file is generated on
Windows9x and Windows2000,WinXP and WIN NT4.0
Brief Operational View : The end user will select a
list of files from a Windows formatted volume . This is taken care by the Front
End (Visual C++).
According to the Filesystem specs for HFS and
ISO9660 the filenames of the selected files will be checked.
A file will be opened to write the Image. Upto the
first 16 sectors(1sector = 2048 bytes) the file will contain HFS specific data
structures namely
1. HFS volume recognizition sequence in the
first 512 bytes of the file.
2. Volume Bitmap .
3. Catlog File
4. Extents Overflow file.
The
space requirements for the above data structures can be found out beforehand
since we will be targetting Disc at once writng method and we
already
know which files to be
written to the HFS volume.
In the 16 th sector the Primary Volume descriptors
for ISO9660 will be written and then the data for ISO9660 filesystem and then
the data corresponding
to the HFS volume will be
dumped.
This implementation overview is my
understanding and I would request you all for and Comments and Suggestions
.
I have the source code for
mkhybrid for guidance. I want to have
suggestion on that too. Is it similar too the ' Darwin' code.
Waitng for your suggestions and inputs
eagerly.
regards
Biswaroop
----- Original Message -----
Sent: Friday, February 08, 2002 12:26
AM
Subject: Re: [hfs-user] Algorithm of B*
tree Implementation
"The algorithm" is a bit hard to
lay out in an e-mail message - it's wrapped up in a series of design and
implementation aspects. Read up on B*-Trees and you should have a good idea
what the data structure's supposed to look like at any given time. Read
"Inside Macintosh" and you'll find a more detailed explanation of the exact
details of the HFS/HFS+ B*-Tree structure. More helpful than "Inside
Macintosh", perhaps, is the tech note that Apple's published on the subject -
"must read" for anyone implementing a version of HFS/HFS+. I can't remember
the tech note number offhand but it's freely available through Apple's web
site - do a search there.
Finally, note that the Darwin code, which
Apple has open sourced, includes a complete "C" implementation of the B*-Tree
code as part of a UNIX kernel. Sign up as a Darwin developer and check out a
copy of the sources. It's in the "xnu" project in the "hfs" directory inside
the "bsd" directory of "xnu". That's the ultimate answer right
there.
Hope that helps,
-Pat Dirks.
On Thursday, February 7,
2002, at 02:04 AM, Biswaroop Banerjee wrote:
Hi All,/smaller>/fontfamily>
Can anybody of you give me the algorithm of implementating a B* tree which
is the prominent data structure in a HFS formatted volume./smaller>/fontfamily>
Waiting
for your help./smaller>/fontfamily>
Regards/smaller>/fontfamily>
Biswaroop
Banerjee./smaller>/fontfamily>
The
essence of Success lies in its
Struggle
-Bisban /smaller>/fontfamily>