HP OpenVMS System Services Reference Manual
%facility-severity-NONAME, message=xxxxxxxx[hex], (facility=n, message=n[dec])
|
Required Access or Privileges
None
Required Quota
None
Related Services
$ALLOC, $ASSIGN, $BRKTHRU, $BRKTHRUW, $CANCEL, $CREMBX, $DALLOC,
$DASSGN, $DELMBX, $DEVICE_SCAN, $DISMOU, $GETDVI, $GETDVIW, $GETQUI,
$GETQUIW, $INIT_VOL, $MOUNT, $PUTMSG, $QIO, $QIOW, $SNDERR, $SNDJBC,
$SNDJBCW, $SNDOPR
Condition Values Returned
SS$_NORMAL
|
The service completed successfully.
|
SS$_BUFFEROVF
|
The service completed successfully. The string returned overflowed the
buffer provided and has been truncated.
|
SS$_INSFARG
|
The call arguments are insufficient.
|
SS$_MSGNOTFND
|
The service completed successfully; however, the message code cannot be
found, and a default message has been returned.
|
Example
|
#include <stdio.h>
#include <ssdef.h>
#include <stsdef.h>
#include <descrip.h>
#include <starlet.h>
int status, /* Status of system calls */
msg_flag = 0x0001, /* Text only */
msg_code = SS$_DUPLNAM; /* Message code to retrieve */
short int
outlen; /* Length of output string from $FAO */
char out_buffer[256], /* Buffer for $FAO output */
msg_info[4]; /* Buffer for message information */
$DESCRIPTOR(out_desc, out_buffer); /* VMS Descriptor for out_buffer */
main()
{
status = sys$getmsg(msg_code, /* Error message number */
&outlen, /* Length of retrived message */
&out_desc, /* Descriptor for output buffer */
msg_flag, /* Message options flag */
msg_info); /* Return information area */
if ((status & STS$M_SUCCESS) != 0)
{
/* $GETMSG directive succeeded, output resultant string */
out_buffer[outlen] = '\0'; /* add string terminator to buffer */
puts(out_buffer); /* output the result */
}
return (status);
}
|
This example shows a segment of a program used to obtain only the text
portion of the message associated with the system message code
SS$_DUPLNAM. The $GETMSG service returns the following string:
$GETQUI
Returns information about queues and the jobs initiated from those
queues.
The $GETQUI service completes asynchronously; for synchronous
completion, use the Get Queue Information and Wait ($GETQUIW) service.
For additional information about system service completion, refer to
the Synchronize ($SYNCH) service.
Format
SYS$GETQUI [efn] ,func [,context] [,itmlst] [,iosb] [,astadr] [,astprm]
C Prototype
int sys$getqui (unsigned int efn, unsigned short int func, unsigned int
*context, 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 $GETQUI completes. The
efn argument is a longword containing this number;
however, $GETQUI uses only the low-order byte. The efn
argument is optional.
When the request is queued, $GETQUI clears the specified event flag (or
event flag 0 if efn was not specified). Then, when the
operation completes, $GETQUI 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 $GETQUI is to perform. The
func argument is a word containing this function code.
The $QUIDEF macro defines the names of each function code.
You can specify only one function code in a single call to $GETQUI.
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 either describes the specific information to be returned by
$GETQUI, or otherwise affects the action designated by the function
code.
You can use wildcard mode to make a sequence of calls to $GETQUI to get
information about all characteristics, form definitions, queues, or
jobs contained in the system job queue file. For information on using
wildcard mode, see the Description section.
context
OpenVMS usage: |
context |
type: |
longword (unsigned) |
access: |
modify |
mechanism: |
by reference |
Address of a longword containing the number of a context stream for
this call to the $GETQUI system service. If the argument is unspecified
or 0, the service uses the default context stream (#0).
To generate a new context stream, the specified longword must contain
--1. $GETQUI then modifies the longword to hold the context number for
that stream of operation. The context is marked with the caller's mode
(user, supervisor, executive, or kernel). Any attempt to use that
context in successive calls is checked and no call from a mode outside
the recorded mode is allowed access.
To clean up a context, make a $GETQUI call using the
QUI$_CANCEL_OPERATION function code and specify the address of the
context number as the context argument.
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
contains an item code. The item list is terminated by an item code of 0
or by a longword of 0. The following diagram depicts the structure of a
single item descriptor:
The following table defines the item descriptor fields:
Descriptor Field |
Definition |
Buffer length
|
A word specifying the length of the buffer; the buffer either supplies
information to $GETQUI or receives information from $GETQUI. The
required length of the buffer varies, depending on the item code
specified, and is given in the description of each item code.
|
Item code
|
A word containing an item code, which identifies the nature of the
information supplied for $GETQUI or which is received from $GETQUI.
Each item code has a symbolic name; the $QUIDEF macro defines these
symbolic names.
|
Buffer address
|
Address of the buffer that specifies or receives the information.
|
Return length address
|
Address of a word to receive the length of information returned by
$GETQUI.
|
The item codes' symbolic names have the following format:
There are two types of item code:
- Input value item code. The $GETQUI service has
only five input value item codes: QUI$_SEARCH_FLAGS,
QUI$_SEARCH_JOB_NAME, QUI$_SEARCH_NAME, QUI$_SEARCH_NUMBER, and
QUI$_SEARCH_USERNAME. These item codes specify the object name or
number for which $GETQUI is to return information and the extent of
$GETQUI's search for these objects. Most function codes require that
you specify at least one input value item code. The function code or
codes for which each item code is valid are shown in parentheses after
the item code description.
For input value item codes, the buffer
length and buffer address fields of the item descriptor must be
nonzero; the return length field must be zero. Specific buffer length
requirements are given in the description of each item code.
- Output value item code. Output value item codes
specify a buffer for information returned by $GETQUI. For output value
item codes, the buffer length and buffer address fields of the item
descriptor must be nonzero; the return length field can be zero or
nonzero. Specific buffer length requirements are given in the
description of each item code.
Several item codes specify a queue name, form name, or characteristic
name to $GETQUI or request that $GETQUI return one of these names. For
these item codes, the buffer must specify or be prepared to receive a
string containing from 1 to 31 characters, exclusive of spaces, tabs,
and null characters, which are ignored. Allowable characters in the
string are uppercase alphabetic characters, lowercase alphabetic
characters (which are converted to uppercase), numeric characters, the
dollar sign ($), and the underscore (_).
See the Item Codes section for a description of the $GETQUI item codes.
iosb
OpenVMS usage: |
io_status_block |
type: |
quadword (unsigned) |
access: |
write only |
mechanism: |
by reference |
I/O status block into which $GETQUI 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, $GETQUI sets the value of the quadword I/O
status block to 0. When the requested operation has completed, $GETQUI
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 $GETQUI in the I/O status block are
condition values from the JBC facility, which are defined by the
$JBCMSGDEF macro. The condition values returned from the JBC facility
are listed in the section Condition Values Returned in the I/O Status
Block section.
Though this argument is optional, HP strongly recommends that you
specify it, for the following reasons:
- 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.
- If you are using the $SYNCH service to synchronize completion of
the service, the I/O status block is a required argument for $SYNCH.
- 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 $GETQUI 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
$GETQUI, 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 $GETQUI 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 $GETQUI.
astprm
OpenVMS usage: |
user_parm |
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.
Function Codes
This section lists each of the $GETQUI function codes,
describes the function, and lists the related item codes.
QUI$_CANCEL_OPERATION
This request terminates a wildcard operation that might have been
initiated by a previous call to $GETQUI by releasing the $GETQUI
context block (GQC) associated with the specified context stream.
A specific context stream can be selected and other streams are
unaffected.
QUI$_DISPLAY_CHARACTERISTIC
This request returns information about a specific characteristic
definition, or the next characteristic definition in a wildcard
operation.
A successful QUI$_DISPLAY_CHARACTERISTIC wildcard operation terminates
when the $GETQUI service has returned information about all
characteristic definitions included in the wildcard sequence. The
$GETQUI service indicates termination of this sequence by returning the
condition value JBC$_NOMORECHAR in the I/O status block. If the $GETQUI
service does not find any characteristic definitions, it returns the
condition value JBC$_NOSUCHCHAR in the I/O status block.
For more information on how to request information about
characteristics, see the Description section.
You must specify one of the following input value item codes; you can
specify both:
QUI$_SEARCH_NAME
QUI$_SEARCH_NUMBER
You can specify the following input value item code:
QUI$_SEARCH_FLAGS
You can specify the following output value item codes:
QUI$_CHARACTERISTIC_NAME
QUI$_CHARACTERISTIC_NUMBER
QUI$_DISPLAY_ENTRY
This request returns information about a specific job entry, or the
next job entry that matches the selection criteria in a wildcard
operation. You use the QUI$_SEARCH_NUMBER item code to specify the job
entry number.
In wildcard mode, the QUI$_DISPLAY_ENTRY operation also establishes a
job context for subsequent QUI$_DISPLAY_FILE operations. The job
context established remains in effect until you make another call to
the $GETQUI service that specifies either the QUI$_DISPLAY_ENTRY or
QUI$_CANCEL_OPERATION function code.
A successful QUI$_DISPLAY_ENTRY wildcard operation terminates when the
$GETQUI service has returned information about all job entries for the
specified user (or the current user name if the QUI$_SEARCH_USERNAME
item code is not specified). The $GETQUI service signals termination of
this sequence by returning the condition value JBC$_NOMOREENT in the
I/O status block. If the $GETQUI service does not find a job with the
specified entry number, or does not find a job meeting the search
criteria, it returns the condition value JBC$_NOSUCHENT in the first
longword of the I/O status block.
You can specify the following input value item codes:
QUI$_SEARCH_FLAGS
QUI$_SEARCH_JOB_NAME
QUI$_SEARCH_NUMBER
QUI$_SEARCH_USERNAME
You can specify the following output value item codes:
QUI$_ACCOUNT_NAME
QUI$_AFTER_TIME
QUI$_ASSIGNED_QUEUE_NAME
QUI$_CHARACTERISTICS
QUI$_CHECKPOINT_DATA
QUI$_CLI
QUI$_COMPLETED_BLOCKS
QUI$_CONDITION_VECTOR
QUI$_CPU_LIMIT
QUI$_ENTRY_NUMBER
QUI$_FILE_COUNT
QUI$_FORM_NAME
QUI$_FORM_STOCK
QUI$_JOB_COMPLETION_QUEUE
QUI$_JOB_COMPLETION_TIME
QUI$_JOB_COPIES
QUI$_JOB_COPIES_DONE
QUI$_JOB_FLAGS
QUI$_JOB_NAME
QUI$_JOB_PID
QUI$_JOB_RETENTION_TIME
QUI$_JOB_SIZE
QUI$_JOB_STATUS
QUI$_LOG_QUEUE
QUI$_LOG_SPECIFICATION
QUI$_NOTE
QUI$_OPERATOR_REQUEST
QUI$_PARAMETER_1 through 8
QUI$_PENDING_JOB_REASON
QUI$_PRIORITY
QUI$_PROCESSOR
QUI$_QUEUE_FLAGS
QUI$_QUEUE_NAME
QUI$_QUEUE_STATUS
QUI$_RAD
QUI$_REQUEUE_QUEUE_NAME
QUI$_RESTART_QUEUE_NAME
QUI$_SUBMISSION_TIME
QUI$_UIC
QUI$_USERNAME
QUI$_WSDEFAULT
QUI$_WSEXTENT
QUI$_WSQUOTA
QUI$_DISPLAY_FILE
This request returns information about the next file defined for the
current job context. You normally make this request as part of a nested
wildcard sequence of queue-job-file operations or a nested wildcard
sequence of entry-file operations; that is, before you make a call to
$GETQUI to request file information, you have already made a call to
the $GETQUI service to establish the job context of the job that
contains the files in which you are interested.
The $GETQUI service signals that it has returned information about all
the files defined for the current job context by returning the
condition value JBC$_NOMOREFILE in the I/O status block. If the current
job context contains no files, $GETQUI returns the condition value
JBC$_NOSUCHFILE in the I/O status block.
A batch job can make a call to the $GETQUI service to request
information about the command file that is currently executing without
first making calls to the service to establish a queue and job context.
To do this, the batch job specifies the QUI$V_SEARCH_THIS_JOB option of
the QUI$_SEARCH_FLAGS item code. The system does not save the queue or
job context established in such a call.
For more information about how to request file information, see the
Description section.
You can specify the following input value item code:
QUI$_SEARCH_FLAGS
You can specify the following output value item codes:
QUI$_FILE_COPIES
QUI$_FILE_COPIES_DONE
QUI$_FILE_FLAGS
QUI$_FILE_IDENTIFICATION
QUI$_FILE_SETUP_MODULES
QUI$_FILE_SPECIFICATION
QUI$_FILE_STATUS
QUI$_FIRST_PAGE
QUI$_LAST_PAGE
QUI$_DISPLAY_FORM
This request returns information about a specific form definition, or
the next form definition in a wildcard operation.
A successful QUI$_DISPLAY_FORM wildcard operation terminates when the
$GETQUI service has returned information about all form definitions
included in the wildcard sequence. The $GETQUI service signals
termination of this wildcard sequence by returning the condition value
JBC$_NOMOREFORM in the I/O status block. If the $GETQUI service finds
no form definitions, it returns the condition value JBC$_NOSUCHFORM in
the I/O status block.
For more information on how to request information about forms, see the
Description section.
You must specify one of the following input value item codes. You can
specify both:
QUI$_SEARCH_NAME
QUI$_SEARCH_NUMBER
You can specify the following input value item code:
QUI$_SEARCH_FLAGS
You can specify the following output value item codes:
QUI$_FORM_DESCRIPTION
QUI$_FORM_FLAGS
QUI$_FORM_LENGTH
QUI$_FORM_MARGIN_BOTTOM
QUI$_FORM_MARGIN_LEFT
QUI$_FORM_MARGIN_RIGHT
QUI$_FORM_MARGIN_TOP
QUI$_FORM_NAME
QUI$_FORM_NUMBER
QUI$_FORM_SETUP_MODULES
QUI$_FORM_STOCK
QUI$_FORM_WIDTH
QUI$_PAGE_SETUP_MODULES
QUI$_DISPLAY_JOB
This request returns information about the next job defined for the
current queue context. You normally make this request as part of a
nested wildcard queue-job sequence of operations; that is, before you
make a call to $GETQUI to request job information, you have already
made a call to the $GETQUI service to establish the queue context of
the queue that contains the job in which you are interested.
In wildcard mode, the QUI$_DISPLAY_JOB operation also establishes a job
context for subsequent QUI$_DISPLAY_FILE operations. The job context
established remains in effect until another call is made to the $GETQUI
service that specifies the QUI$_DISPLAY_JOB, QUI$_DISPLAY_QUEUE, or
QUI$_CANCEL_OPERATION function code.
The $GETQUI service signals that it has returned information about all
the jobs contained in the current queue context by returning the
condition value JBC$_NOMOREJOB in the I/O status block. If the current
queue context contains no jobs, $GETQUI returns the condition value
JBC$_NOSUCHJOB in the first longword of the I/O status block.
A batch job can make a call to the $GETQUI service to request
information about itself without first making a call to the service to
establish a queue context. To do this, the batch job must specify the
QUI$V_SEARCH_THIS_JOB option of the QUI$_SEARCH_FLAGS item code. The
system does not save the queue or job context established in such a
call.
For more information about how to request job information, see the
Description section.
You can specify the following input value item code:
QUI$_SEARCH_FLAGS
You can specify the following output value item codes:
QUI$_ACCOUNT_NAME
QUI$_AFTER_TIME
QUI$_CHARACTERISTICS
QUI$_CHECKPOINT_DATA
QUI$_CLI
QUI$_COMPLETED_BLOCKS
QUI$_CONDITION_VECTOR
QUI$_CPU_LIMIT
QUI$_ENTRY_NUMBER
QUI$_FILE_COUNT
QUI$_FORM_NAME
QUI$_FORM_STOCK
QUI$_INTERVENING_BLOCKS
QUI$_INTERVENING_JOBS
QUI$_JOB_COMPLETION_QUEUE
QUI$_JOB_COMPLETION_TIME
QUI$_JOB_COPIES
QUI$_JOB_COPIES_DONE
QUI$_JOB_FLAGS
QUI$_JOB_NAME
QUI$_JOB_PID
QUI$_JOB_RETENTION_TIME
QUI$_JOB_SIZE
QUI$_JOB_STATUS
QUI$_LOG_QUEUE
QUI$_LOG_SPECIFICATION
QUI$_NOTE
QUI$_OPERATOR_REQUEST
QUI$_PARAMETER_1 through 8
QUI$_PENDING_JOB_REASON
QUI$_PRIORITY
QUI$_QUEUE_NAME
QUI$_RAD
QUI$_REQUEUE_QUEUE_NAME
QUI$_RESTART_QUEUE_NAME
QUI$_SUBMISSION_TIME
QUI$_UIC
QUI$_USERNAME
QUI$_WSDEFAULT
QUI$_WSEXTENT
QUI$_WSQUOTA
QUI$_DISPLAY_MANAGER
This request returns information about a specific queue manager, or the
next queue manager in a wildcard operation.
The $GETQUI service indicates that it has returned information about
all the queue managers contained in the current wildcard sequence by
returning the condition value JBC$_NOMOREQMGR in the I/O status block.
If no queue manager matching the name string is found, $GETQUI returns
the condition value JBC$_NOSUCHQMGR in the first longword of the I/O
status block.
You must specify the following input value item code:
QUI$_SEARCH_NAME
You can specify the following input value item code:
QUI$_SEARCH_FLAGS
You can specify the following output value item codes:
QUI$_MANAGER_NAME
QUI$_MANAGER_NODES
QUI$_MANAGER_STATUS
QUI$_QUEUE_DIRECTORY
QUI$_SCSNODE_NAME
QUI$_DISPLAY_QUEUE
This request returns information about a specific queue definition, or
the next queue definition in a wildcard operation.
In wildcard mode, the QUI$_DISPLAY_QUEUE operation also establishes a
queue context for subsequent QUI$_DISPLAY_JOB operations. The queue
context established remains in effect until another call is made to the
$GETQUI service that specifies either the QUI$_DISPLAY_QUEUE or
QUI$_CANCEL_OPERATION function code.
The $GETQUI service indicates that it has returned information about
all the queues contained in the current wildcard sequence by returning
the condition value JBC$_NOMOREQUE in the I/O status block. If no queue
is found, $GETQUI returns the condition value JBC$_NOSUCHQUE in the
first longword of the I/O status block.
A batch job can make a call to the $GETQUI service to request
information about the queue in which it is contained without first
making a call to the service to establish a queue context. To do this,
the batch job must specify the QUI$V_SEARCH_THIS_JOB option of the
QUI$_SEARCH_FLAGS item code. The system does not save the queue context
established in such a call.
For more information about how to request queue information, see the
Description section.
You must specify the following input value item code:
QUI$_SEARCH_NAME
You can specify the following input value item code:
QUI$_SEARCH_FLAGS
You can specify the following output value item codes:
QUI$_ASSIGNED_QUEUE_NAME
QUI$_BASE_PRIORITY
QUI$_CHARACTERISTICS
QUI$_CPU_DEFAULT
QUI$_CPU_LIMIT
QUI$_DEFAULT_FORM_NAME
QUI$_DEFAULT_FORM_STOCK
QUI$_DEVICE_NAME
QUI$_EXECUTING_JOB_COUNT
QUI$_FORM_NAME
QUI$_FORM_STOCK
QUI$_GENERIC_TARGET
QUI$_HOLDING_JOB_COUNT
QUI$_JOB_LIMIT
QUI$_JOB_RESET_MODULES
QUI$_JOB_SIZE_MAXIMUM
QUI$_JOB_SIZE_MINIMUM
QUI$_LIBRARY_SPECIFICATION
QUI$_OWNER_UIC
QUI$_PENDING_JOB_BLOCK_COUNT
QUI$_PENDING_JOB_COUNT
QUI$_PROCESSOR
QUI$_PROTECTION
QUI$_QUEUE_DESCRIPTION
QUI$_QUEUE_FLAGS
QUI$_QUEUE_NAME
QUI$_QUEUE_STATUS
QUI$_RAD
QUI$_RETAINED_JOB_COUNT
QUI$_SCSNODE_NAME
QUI$_TIMED_RELEASE_JOB_COUNT
QUI$_WSDEFAULT
QUI$_WSEXTENT
QUI$_WSQUOTA
QUI$_TRANSLATE_QUEUE
This request translates a name for a logical queue to the execution
name for the queue. The name for the logical queue is specified by
QUI$_SEARCH_NAME.
The translation is performed iteratively until the equivalence string
is found or the number of translations allowed by the system has been
reached.
This item applies to logical queues only. For additional information,
see the Description section.
You must specify the following input value item code:
QUI$_SEARCH_NAME
You can specify the following output value item code:
QUI$_QUEUE_NAME
Item Codes
QUI$_ACCOUNT_NAME
Returns, as a character string, the account name of the owner of the
specified job. Because the account name can include up to 8 characters,
the buffer length field of the item descriptor should specify 8 (bytes).
(Valid for QUI$_DISPLAY_ENRY, QUI$_DISPLAY_JOB function codes)
QUI$_AFTER_TIME
Returns, as a quadword absolute time value, the system time at or after
which the specified job can execute; however, if the time specified at
submission has passed, the job executes immediately and $GETQUI returns
the system time at which the job was submitted.
(Valid for QUI$_DISPLAY_ENTRY, QUI$_DISPLAY_JOB function codes)
QUI$_ASSIGNED_QUEUE_NAME
Returns, as a character string, the name of the execution queue to
which the logical queue specified in the call to $GETQUI is assigned.
Because the queue name can include up to 31 characters, the buffer
length field of the item descriptor should specify 31 (bytes).
|