Sponsored Content
Top Forums Programming A Pointer to non-Virtual Address, and All of my Hard drive Post 92540 by jim mcnamara on Monday 12th of December 2005 12:02:16 PM
Old 12-12-2005
Yes - the kernel source is different from distro to distro and has lots of hardware dependencies for things like endianess.

Some points --

1. OS X is open source, I believe. That means either you already have or can download kernel source.

2. kernel code is not always super-simple, but there may be an existing physical I/O function you can work with. If there is you can make a minor change and allow the function to be exported from the kernel to user space. Then you can call it from C.

3. If there is no function you can use, then you will have to create one.

In any event, you will have to learn something about the kernel. I just googled for
'linux kernel programming' and got a load of white papers, turtorials, and books.
You will have to do some reading.

PS: sometimes you can directly access the BIOS on your box. I'm not an OS X person, but be sure to research BIOS access - sometimes it's possible from a simple 3 line ASM call embedded in C.
 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Trying to copy old hard drive to new hard drive.

:confused: ........I have a new hard drive and I need to copy ALL info from the old to the new. I would like to use the dd command. I know the command is as follows...... dd if=/dev/rdsk/c1t1d0s0 of=/dev/rdsk/???????? Where I have the question marks is the problem. How do I find out what the... (4 Replies)
Discussion started by: shorty
4 Replies

2. Filesystems, Disks and Memory

The best partitioning schem for a 250GB Sata hard drive & a 75GB SCSI hard drive

Hi I have 2 75GB SCSI hard drives and 2 250GB SATA hard drives which are using RAID Level 1 respectively. I wana have both FTP and Apache installed on them as services. I'm wondering what's the best partitioning schem? I wana use FC3 as my OS, so, I thought I can use the 75GB hard drive as the /... (0 Replies)
Discussion started by: sirbijan
0 Replies

3. Programming

address of pointer

Hi i'm new to c programming and i'm trying to change the address of a pointer/variable but i can't seem to get it right, I have this char heap; char *firstFree = heap; char *allocMem( int size ) { void *malloc(size_t sizeofint); /*allocate space for an array with size... (19 Replies)
Discussion started by: Poison Ivy
19 Replies

4. UNIX for Dummies Questions & Answers

What would the physical address be for virtual address?

Hi guys, I got one problem which I definetily no idea. What would the physical address be for virtual address? 1) 2ABC 2) 3F4B Here is the page table:see attached Thank you sos sososososso much!! (0 Replies)
Discussion started by: lemon_06
0 Replies

5. Linux

C++ Code to Access Linux Hard Disk Sectors (with a LoopBack Virtual Hard Disk)

Hi all, I'm kind of new to programming in Linux & c/c++. I'm currently writing a FileManager using Ubuntu Linux(10.10) for Learning Purposes. I've got started on this project by creating a loopback device to be used as my virtual hard disk. After creating the loop back hard disk and mounting it... (23 Replies)
Discussion started by: shen747
23 Replies

6. UNIX for Dummies Questions & Answers

Printing pointer address

How can I print the memory address of a pointer using printf (or any other STDOUT functions?). I see in Linux its %p but not in unix, help? thanks (5 Replies)
Discussion started by: perleo
5 Replies

7. Programming

Pointer and address

This code is to print out the program name and arguments list one by one: 1 #include<stdio.h> 2 3 void main(int argc, char *argv) 4 { 5 int iCount = 0; 6 while (iCount < argc) { 7 printf("argc:%d\t%s\n",iCount, argv); 8 ... (14 Replies)
Discussion started by: yifangt
14 Replies
hdio(7I)							  Ioctl Requests							  hdio(7I)

NAME
hdio - SMD and IPI disk control operations SYNOPSIS
#include <sys/hdio.h> DESCRIPTION
Note - The SMC and IPI drivers have been discontinued. dkio(7I) is now the preferred method for retrieving disk information. The SMD and IPI disk drivers supplied with this release support a set of ioctl(2) requests for diagnostics and bad sector information. Basic to these ioctl() requests are the definitions in <sys/hdio.h>. IOCTLS
HDKIOCGTYPE The argument is a pointer to a hdk_type structure (described below). This ioctl() gets specific information from the hard disk. HDKIOCSTYPE The argument is a pointer to a hdk_type structure (described below). This ioctl() sets specific information about the hard disk. /* * Used for drive info */ struct hdk_type { ushort_t hdkt_hsect; /* hard sector count (read only) */ ushort_t hdkt_promrev; /* prom revision (read only) */ uchar_t hdkt_drtype; /* drive type (ctlr specific) */ uchar_t hdkt_drstat; /* drive status (ctlr specific, ro) */ }; HDKIOCGBAD The argument is a pointer to a hdk_badmap structure (described below). This ioctl() is used to get the bad sector map from the disk. HDKIOCSBAD The argument is a pointer to a hdk_badmap structure (described below). This ioctl() is used to set the bad sector map on the disk. /* * Used for bad sector map */ struct hdk_badmap { caddr_t hdkb_bufaddr; /* address of user's map buffer */ }; HDKIOCGDIAG The argument is a pointer to a hdk_diag structure (described below). This ioctl() gets the most recent command that failed along with the sector and error number from the hard disk. /* * Used for disk diagnostics */ struct hdk_diag { ushort_t hdkd_errcmd; /* most recent command in error */ daddr_t hdkd_errsect; /* most recent sector in error */ uchar_t hdkd_errno; /* most recent error number */ uchar_t hdkd_severe; /* severity of most recent error */ }; SEE ALSO
ioctl(2), dkio(7I) SunOS 5.10 13 Aug 2002 hdio(7I)
All times are GMT -4. The time now is 11:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy