Library /sys$common/syshlp/SDA.HLB  —  Extension Routines, Description
    The following discussion uses an example of an SDA extension
    that invokes the MBX command to output a formatted display of
    the status of the mailbox devices in the system. The source file,
    MBX$SDA.C, is provided in SYS$EXAMPLES.

    An SDA extension consists of a shareable image, in this case
    MBX$SDA.EXE, either located in the directory SYS$LIBRARY or
    found by translating the logical name MBX$SDA. It contains two
    universal symbols: SDA$EXTEND, the entry point; and SDA$EXTEND_
    VERSION, the address of a longword that contains the version of
    the interface used (in the format of major/minor ident), which
    allows SDA to confirm it has activated a compatible extension.
    The image contains at least two modules: MBX$SDA, the user-
    written module that defines the two symbols and provides the
    code and data necessary to produce the desired formatted output;
    and SDA_EXTEND_VECTOR, which provides jackets for all of the
    callable SDA routines, and is found in SYS$LIBRARY:VMS$VOLATILE_
    PRIVATE_INTERFACES.OLB. The user-written portion can be split
    into multiple modules.

    Whenever SDA receives an unrecognized command, like "SDA> MBX",
    it attempts to activate the shareable image MBX$SDA at the
    SDA$EXTEND entry point. If you choose a command name that matches
    the abbreviation of an existing command, SDA can be forced to
    activate the extension using the "DO" command. For example, if
    you had an SDA extension called VAL$SDA, you could not activate
    it with a command like "SDA> VAL" as SDA would interpret that
    as an abbreviation of its VALIDATE command. But VAL$SDA can be
    activated by issuing "SDA> DO VAL".

    With or without the "DO" prefix, the rest of the command line
    is passed to the extension; it is up to the extension to parse
    it. The example extension MBX$SDA includes support for commands
    of the form "SDA> MBX SUMMARY" and "SDA> MBX <address>" to
    demonstrate this. If the extension is invoked with no arguments,
    it should do no more than display a simple announcement message,
    or prompt for input. This assists in the debugging of the
    extension, as described in Debugging an Extension.

    Compiling and Linking an SDA Extension describes how to compile,
    link, and invoke an SDA extension, and describes what an SDA
    extension should contain.
Additional Information: explode extract
Compiling and Linking an SDA Extension Invoking an SDA Extension Contents of an SDA Extension Debugging an Extension
Close Help