VMS Help  —  System Services, $SNDJBC
    Creates, stops, and manages queues and the batch and print jobs
    in those queues. The $SNDJBC service completes asynchronously;
    to synchronize the completion of most operations, use the Send to
    Job Controller and Wait ($SNDJBCW) service.

    Format

      SYS$SNDJBC  [efn] ,func [,nullarg] [,itmlst] [,iosb] [,astadr]

                  [,astprm]

    C Prototype

      int sys$sndjbc  (unsigned int efn, unsigned short int func,

                      unsigned int nullarg, void *itmlst, struct

                      _iosb *iosb, void (*astadr)(__unknown_params),

                      int astprm);

1  –  Arguments

 efn

    OpenVMS usage:ef_number
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Number of the event flag to be set when $SNDJBC completes. The
    efn argument is a longword containing this number; however,
    $SNDJBC uses only the low-order byte.

    When you queue the request, $SNDJBC clears the specified event
    flag (or event flag 0 if efn was not specified). Then, when the
    operation completes, $SNDJBC sets the specified event flag (or
    event flag 0).

 func

    OpenVMS usage:function_code
    type:         word (unsigned)
    access:       read only
    mechanism:    by value
    Function code specifying the function that $SNDJBC is to perform.
    The func argument is a word containing this function code. The
    $SJCDEF macro defines the names of each function code.

    You can specify only one function code in a single call to
    $SNDJBC. Most function codes require or allow for additional
    information to be passed in the call. You pass this information
    by using the itmlst argument, which specifies a list of one or
    more item descriptors. Each item descriptor in turn specifies an
    item code, which modifies, restricts, or otherwise affects the
    action designated by the function code.

 nullarg

    OpenVMS usage:null_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Placeholding argument Reserved to VSI.

 itmlst

    OpenVMS usage:item_list_3
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Item list supplying information to be used in performing the
    function specified by the func argument. The itmlst argument is
    the address of the item list. The item list consists of one or
    more item descriptors, each of which specifies an item code. The
    item list is terminated by an item code of 0 or by a longword of
    0.

    To view the item code diagram and descriptor fields table, see
    the VSI OpenVMS System Services Reference Manual.

 iosb

    OpenVMS usage:io_status_block
    type:         quadword (unsigned)
    access:       write only
    mechanism:    by reference
    I/O status block into which $SNDJBC writes the completion status
    after the requested operation has completed. The iosb argument is
    the address of the I/O status block.

    At request initiation, $SNDJBC sets the value of the quadword
    I/O status block to 0. When the requested operation completes,
    $SNDJBC writes a condition value in the first longword of the
    I/O status block. It writes the value 0 into the second longword;
    this longword is unused and reserved for future use.

    The condition values returned by $SNDJBC in the I/O status
    block are usually condition values from the JBC facility. These
    condition values are defined by the $JBCMSGDEF macro. In some
    cases, the condition value returned by $SNDJBC can be an error
    return from a system service or an OpenVMS RMS service that
    is used in executing the request. For the SJC$_SYNCHRONIZE_JOB
    request, the condition value returned is the completion status of
    the requested job.

    The condition values returned from the JBC facility are listed in
    the Condition Values Returned in the I/O Status Block section.

    Though this argument is optional, VSI strongly recommends that you
    specify it, for the following reasons:

    o  If you are using an event flag to signal the completion of
       the service, you can test the I/O status block for a condition
       value to be sure that the event flag was not set by an event
       other than service completion.

    o  If you are using the $SYNCH service to synchronize completion
       of the service, the I/O status block is a required argument
       for $SYNCH.

    o  The condition value returned in R0 and the condition value
       returned in the I/O status block provide information about
       different aspects of the call to the $SNDJBC service. The
       condition value returned in R0 gives you information about the
       success or failure of the service call itself; the condition
       value returned in the I/O status block gives you information
       about the success or failure of the service operation.
       Therefore, to accurately assess the success or failure of the
       call to $SNDJBC, you must check the condition values returned
       in both R0 and the I/O status block.

 astadr

    OpenVMS usage:ast_procedure
    type:         procedure value
    access:       call without stack unwinding
    mechanism:    by reference
    AST service routine to be executed when $SNDJBC completes. The
    astadr argument is the address of this routine.

    If specified, the AST routine executes at the same access mode as
    the caller of $SNDJBC.

 astprm

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    AST parameter to be passed to the AST service routine specified
    by the astadr argument. The astprm argument is this longword
    parameter.
Close Help