VMS Help System Services, $SNDJBC *Conan The Librarian (sorry for the slow response - running on an old VAX) |
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); 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 Compaq. 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. Refer to the OpenVMS System Services Reference Manual to view the item code diagram and descriptor fields table. 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, Compaq 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.
|