[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Interface Files Help!



I'm hoping someone can help me with manually updating MCL interface files.
I've been given the task of implementing portions of AOCE into one of my
projects and I pretty much continuously run into brick walls of varying height
during the process.
 
The latest hurdle to jump involves AOCE Personal Catalogs.  Unfortunately, the
interfaces for all that (and a sizeable number of other AOCE calls) were
commented out by PInterface Translator.  Here is one such call, in the original
Pascal format:
 
FUNCTION DirCreatePersonalDirectory(paramBlock: DirParamBlockPtr): OSErr;
   INLINE $7000, $1f00, $3F3C, kDirCreatePersonalDirectory, _oceTBDispatch;
 
The unadorned MCL version looks like this:
 
#| Not in ROM - INLINE =  #x7000 #x1F00 #x3F3C #x011F #xAA5E
(deftrap _dircreatepersonaldirectory ((paramblock (:pointer :dirparamblock)))
   (:stack :signed-integer)
   (:stack-trap #x0))
|#
 
All of the values in "#x7000 #x1F00 #x3F3C #x011F #xAA5E" in the MCL portion
are correct, but PInterface Translator somehow couldn't decypher a call for it.
All the calls that did _not_ include two preceding parameters in the Pascal
INLINE statement ("$7000, $1f00" in this example) translated fine.  This
worked, for instance:
 
FUNCTION DirGetDNodeInfo(paramBlock: DirParamBlockPtr; async: BOOLEAN): OSErr;
   INLINE $3F3C, kDirGetDNodeInfo, _oceTBDispatch;
 
(deftrap _dirgetdnodeinfo ((paramblock (:pointer :dirparamblock))
                           (async :boolean))
   (:stack :signed-integer)
   (:stack-trap #xAA5E paramblock async (293 :signed-integer)))
 
I freely admit to not comprehending what the hell is going on here, and I'm
hoping that someone will point me in the right direction.  It seems that if I
can figure out how to make _dircreatepersonaldirectory actually work than I can
manually alter almost all the commented-out interface calls for AOCE; that
would be a good thing, I think.  I'll even post the interface files to the ftp
site when I'm finished.
 
Anyway:  Can someone please explain to me what needs to be defined?  Any help
is appreciated!
 
Dan