Article 4771 of vmsnet.internals:
ashleyb@devvax.mincom.oz.au (Ashley Betts - MINCOM) writes:

> If I could possibly fire an AST at a process and let a routine within that
>process handle the event (via a parameter) this would be the ultimate.

the ultimate what?

have you considered the $SIGPRC() system service?  this may be useful,
depending upon what version of VMS you're running, if you're willing to
use an exception handler rather than a straight AST.  here's some help:

SYS$SIGPRC - Cross-Process Signal Service

 FUNCTIONAL DESCRIPTION:

    This system service provides the ability to asynchronously
        generate an exception condition in another process.

 Format:

    SYS$SIGPRC  [pidadr], [prcnam], signal

    pidadr

        OpenVMS usage:process_id
        type:         longword (unsigned)
        access:       read only
        mechanism:    by reference
        Process identification (PID) of the process to be signalled.

    prcnam

        OpenVMS usage:process_name
        type:         character-coded text string
        access:       read only
        mechanism:    by descriptor-fixed length string descriptor
        Name of the process to be signalled.

    signal

        OpenVMS usage:condition_value
        type:         longword (unsigned)
        access:       read only
        mechanism:    by value
        The condition value to be delivered to the target process.
        If zero is passed, then a zero is delivered.

Either PIDADR or PRCNAM is required.  If both are passed, the name is ignored.

 COMPLETION CODES:

    SS$_NORMAL   = Successful completion
    SS$_ACCVIO   = Argument(s) inaccessible
    SS$_NONEXPR  = Named process or PID does not exist
    SS$_NOPRIV   = No privilege for requested operation
    SS$_INSFMEM  = Failure to allocate memory for ACB

 SIDE EFFECTS:

    The target process is signalled with the requested exception condition.

and also the doc for the corresponsing bit in a sysgen parameters:


$ mc sysgen help param secur

Parameters

  SECURITY_POLICY

     Allows a system to run in a C2 or B1 configuration and
     subset out particular pieces of functionality that are outside of the
     evaluated configuration or to preserve compatibility with previous
     versions of the operating system.

     The following bits are defined:

       Bit 0 - Allows DECwindows Display Postscript (tm) extensions
       Bit 1 - Allows multiple user names to connect to DECW$SERVER
       Bit 2 - Allows unevaluated DECwindows transports (such as TCP/IP)
==>    Bit 3 - Allows $SIGPRC and $PRCTERM to span job trees
       Bit 4 - Allows security profile changes to protected objects on a
               local node when the object server is absent and cannot update
               the cluster database VMS$OBJECTS.DAT
       Bit 5 - Allows creation of protected objects on a local node when
               the object server is absent and cannot update the cluster
               database VMS$OBJECTS.DAT
       Bit 6 - Allows SPAWN or LIB$SPAWN commands in CAPTIVE accounts

     The default value of 7 preserves compatibility with existing DECwindows
     Motif behavior.  A value of 0 disables all unevaluated configurations.

ok
dpm
-- 
David P. Murphy             mailto:murphy@connor.datametrics.com     (work)
systems programmer          mailto:dpm@access.digex.net          (personal)
                            http://www.access.digex.net/~dpm
COGITO ERGO DISCLAIMUM       ftp://ftp.access.digex.net/pub/access/dpm