Re: Menu Extras, Preference Panes, and HIServices.framework
Re: Menu Extras, Preference Panes, and HIServices.framework
- Subject: Re: Menu Extras, Preference Panes, and HIServices.framework
- From: Frank Vercruesse <email@hidden>
- Date: Sun, 28 Oct 2001 12:05:20 +0100
Hi Chris,
though I'm not an assembly language expert at all, I'm quite sure about
the number of arguments for each function:
int CoreMenuExtraAddMenuExtra( CFURLRef path, int position, int whoCares,
int whoCares2, int whoCares3, int whoCares4);
int CoreMenuExtraGetMenuExtra( CFStringRef identifier, void *menuExtra);
int CoreMenuExtraRemoveMenuExtra( void *menuExtra, int whoCares);
Hope this helps.
This is exactly what I was looking for! Now I'll be spending the rest of
my day in GDB figuring out what those parameters mean. I'll post the
results of my findings here for all to enjoy.
Would be nice to know what these parameters mean, but it's probably not
worth the trouble. In every call that I've seen they simply pass 0.
000016b0 li r5,0
000016b4 li r6,0
000016b8 li r7,0
000016bc li r8,0
000016c0 bl 0x1f94 ; symbol stub for:
_CoreMenuExtraAddMenuExtra
00001704 li r4,0
00001708 bl 0x1e2c ; symbol stub for:
_CoreMenuExtraRemoveMenuExtra
Perhaps these params are reserved for future use.
PS: While I'm at it, how exactly are parameters passed to functions in
assembly code? And what about return values?
/Developer/Documentation/DeveloperTools/OS_X_PPC_RuntimeConventions/OS_X_PPC_RuntimeConventions.
pdf
Regards,
Frank
--
http://www.vercruesse.de