[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


   NAME
        SetFunction -- change a function vector in a library

   SYNOPSIS
        oldFunc = SetFunction(library, funcOffset, funcEntry)
        D0                    A1       A0.W        D0

        aptr setfunction(struct library *,long,aptr);

   FUNCTION
        SetFunction is a functional way of changing where vectors in a
        library point.  They are changed in such a way that the
        checksumming process will never falsely declare a library to be
        invalid.

   WARNING
        If you use SetFunction on a function that can be called from
        interrupts, you are obligated to provide your own arbitration.

   NOTE
        SetFunction cannot be used on non-standard libraries like pre-V36
        dos.library.  Here you must manually forbid(), preserve all 6
        original bytes, set the new vector, sumlibrary(), then permit().

   INPUTS
        library    - a pointer to the library to be changed
        funcOffset - the offset of the function to be replaced
        funcEntry  - pointer to new function

   RESULTS
        oldFunc    - pointer to the old function that was just replaced