For some reason, the actual implementation of this routine (on PowerPC
- it doesn't exist on Darwin/x86) is called "delay_for_interval()"
(without the "clock" prefix). I'm not sure whether this was
intentional for some reason, or just an error. But I think that
exposing this routine in the header at all was a mistake. There are
other, more supported ways, of doing this that a preferable.
Ok. I noticed after I'd written my last post that the clock_delay_for_interval() prototype was within a #ifdef __APPLE_API_PRIVATE section. I was kind of misled into thinking it was open for use by this url: <http://developer.apple.com/techpubs/macosx/Darwin/General/KernelProgramming /services/chapter_16_section_4.html>.
What kind of KEXT is this? If it's an IOKit KEXT, you should be using
IODelay(). If it is a non-IOKit KEXT, you are probably already
knee-deep in "no-compatibility-guarantees" code. But the routine
delay() is much more likely to be supported long term than the
implementation routine you found and tried.
This is just an internal non-IOKit tool. I didn't see a prototype for delay() in the Kernel framework. I see #define DELAY(n) delay(n) in <ppc/param.h> but not the actual prototype for delay(). This works the same as the toolbox Delay() function? Where is the prototype declared? Thanks, Eric _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Eric Long