OPENING A HARD DISK FILE ON MAC OS X USING C/C++

hi experts
  I have tried to read the hard disk on mac os x But failed. I have use the fopen(), fread(),fwrite() to read the hard disk. I m able to read any .txt and .doc file on mac  using these functions. Becasue hard disk is also represented as file /dev/rdisk0 but i unable to even open this file using fopen().
device permissions on this file are
crw-r----- root   operator     /dev/rdisk0

plz help me why this file is not opened.
best regards
ManojKrChauhanAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

brettmjohnsonCommented:
The 'r' in /dev/rdisk0 stands for 'raw'.   You cannot open it as a regular file.
You must mount the raw image first.  And you cannot mount the raw disk
image of any currently mounted volume - especially the root or boot volume.
For more information on how to read and write raw volumes, examine the
Darwin source code for diskutil and hdiutil.

But I am really at a loss to understand why you wish to open a raw disk
device using fopen().  This task is in the realm of people writing operating
systems and disk repair/recovery utilities.  These require an extensive
knowledge of devices, drivers, disk partitioning mechanisms, and file system
formats --- considerably more knowledge than you have exhibited in your
question.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
manojchauhanCommented:
hi experts
plz tell me where i can find the Darwin source code for diskutil and hdiutil as u said this will help me
thanx
0
manojchauhanCommented:
I have two hard disks attached with my system
/dev/disk0
#: type name size identifier
0: FDisk_partition_scheme *18.6 GB disk0
1: DOS_FAT_32 NO NAME 9.8 GB disk0s1
/dev/disk1
#: type name size identifier
0: Apple_partition_scheme *55.9 GB disk1
1: Apple_partition_map 31.5 KB disk1s1
2: Apple_Driver43 28.0 KB disk1s2
3: Apple_Driver43 28.0 KB disk1s3
4: Apple_Driver_ATA 28.0 KB disk1s4
5: Apple_Driver_ATA 28.0 KB disk1s5
6: Apple_FWDriver 256.0 KB disk1s6
7: Apple_Driver_IOKit 256.0 KB disk1s7
8: Apple_Patches 256.0 KB disk1s8
9: Apple_HFS Macintosh HD 55.9 GB disk1s9

and the file permissions of these device files are
brw-r----- 1 root operator 14, 0 28 Oct 11:41 /dev/disk0

brw-r----- 1 root operator 14, 1 28 Oct 11:41 /dev/disk1

I have tried to change the permissions through root but message is
chmod o+r /dev/disk0
chmod: /dev/disk0: Operation not permitted

Is there any need to change the file permissions for reading hard disk.
plz tell how i have to proceed and give solution to the problem described.
thanx
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Programming

From novice to tech pro — start learning today.