|
HP OpenVMS System Services Reference Manual
$SHOW_INTRUSION
Searches for and returns information about records in the intrusion
database matching the caller's specifications.
Format
SYS$SHOW_INTRUSION user_criteria ,intruder ,intruder_len ,breakin_block
,[flags] ,[context]
C Prototype
int sys$show_intrusion (void *user_criteria, void *intruder, unsigned
short int *intruder_len, void *breakin_block, unsigned int flags,
unsigned int *context);
Arguments
user_criteria
OpenVMS usage: |
char_string or item_list_3 |
type: |
character-coded text string or longword
(unsigned) |
access: |
read only |
mechanism: |
by descriptor--fixed-length string descriptor or by
reference |
If the CIA$M_ITEMLIST flag is FALSE:
The user_criteria argument is the description of
intruder or suspect. The user_criteria argument is the
address of a character-string descriptor pointing to a buffer
containing the user criteria to match an intrusion record's user
specification in the intrusion database.
The user_criteria argument is a character string of
between 1 and 1058 bytes containing characters to match the user
specification on records in the intrusion database.
A user specification is any combination of the suspect's or intruder's
source node name, source user name, source DECnet for OpenVMS address,
local failed user name, local terminal, or the string UNKNOWN. The user
specification for an intrusion record is based on the input to the
$SCAN_INTRUSION service and the settings of the LGI system parameter.
For more information, see the HP OpenVMS Guide to System Security.
Wildcards are allowed for the user_criteria argument.
For more information about using wildcards to scan the intrusion
database, see the Description section.
If the CIA$M_ITEMLIST flag is TRUE:
The user_criteria argument is now the address of an
32-bit item list. If the item list is used, one item, the
CIA$_USER_CRITERIAL item, must be present in the item list.
The following table lists the valid item descriptions for the
user_criteria argument:
Item |
Description |
CIA$_OUTPUT_LIST
|
Address of an 8192-byte buffer into which the service writes the
associated node information for the returned intrusion record.
|
CIA$_SCSNODE_LIST
|
Address of a list of 8-character null-padded SCS nodenames for which
the caller wants to see intrusion information about.
|
CIA$_USER_CRITERIAL
|
Address of a buffer, 1-1058 bytes long, containing the intruder or
suspect.
|
If a CIA$_SCSNODE_LIST item is provided, an intrusion record will only
be returned if it originated on one of the nodes specified. If a
CIA$_SCSNODE_LIST item is not provided, records from all nodes will be
candidates for display. Multiple CIA$_SCSNODE_LIST items are permitted
in the item list.
If a CIA$_OUTPUT_LIST item is provided, the item is filled with
node-count records on return. The returned intrusion record will have a
breakin block with a valid attempt-count field. The node-count records
will have the name and attempt-count for each node represented.
intruder
OpenVMS usage: |
char_string |
type: |
character-coded text string |
access: |
write only |
mechanism: |
by descriptor--fixed-length string descriptor |
User specification of the matched intruder or suspect record in the
intrusion database. The intruder argument is the
address of a character-string descriptor pointing to a buffer to
receive the user specification of the matched record in the intrusion
database.
The intruder argument is a 1058-byte string that will
receive the user specification of a record in the intrusion database
that matches the specifications in the user_criteria
and flags arguments.
intruder_len
OpenVMS usage: |
string length |
type: |
longword (unsigned) |
access: |
write only |
mechanism: |
by reference |
Length of returned string in the intrusion buffer. The
intruder_len argument is the address of a longword to
receive the length of the returned intrusion buffer.
The possible range of the intruder_len argument is 0
to 1058 bytes. If the longword specified by the argument contains a 0
after the call to the service, either the service did not find a record
that matched the user criteria in the intrusion database, or there are
no more matching items in the intrusion database.
breakin_block
OpenVMS usage: |
record |
type: |
block of 2 longwords (unsigned) and 1 quadword
(unsigned) |
access: |
write only |
mechanism: |
by reference |
Block to receive various information in the intrusion database about a
record matching the user criteria. The breakin_block
argument is the address of a structure with the following format:
The following table defines the break-in block fields:
Field |
Description |
Type
|
Unsigned longword containing two pieces of information: the types of
the matched record and the status of the suspect---SUSPECT or INTRUDER.
The possible values for the record type are TERM_USER, TERMINAL,
USERNAME, and NETWORK. The possible values for the status are SUSPECT
or INTRUDER. These constants are defined in $CIADEF in STARLET.
The implication is that each type will have two bits set: one bit
represents the status, and the other bit represents the record type.
|
Count
|
Unsigned longword containing the number of login failures or break-in
attempts made by the specified intruder or suspect.
|
Time
|
Quadword time format indicating the time when the record will expire.
|
flags
OpenVMS usage: |
mask_longword |
type: |
longword (unsigned) |
access: |
read only |
mechanism: |
by value |
Type of records in the intrusion database about which information is to
be returned. The flags argument is a longword bit mask
wherein each bit corresponds to an option.
Each option has a symbolic name. The $CIADEF macro defines the
following valid names:
Symbolic Name |
Description |
CIA$M_ALL
|
All records will be shown. If the
flags argument is omitted, this value is assumed.
|
CIA$M_INTRUDERS
|
Only intruder records matching the criteria specified by the
user_criteria argument will be returned. The value of
the flag field in the break-in block will always be 1.
|
CIA$M_ITEMLIST
|
If FALSE, the
user_criteria argument is a character string. If TRUE,
this argument is a 32-bit item list.
|
CIA$M_SUSPECTS
|
Only suspect records matching the criteria specified by the
user_criteria argument will be returned. The value of
the flag field in the break-in block will always be 0.
|
Each of these options is mutually exclusive.
context
OpenVMS usage: |
context |
type: |
longword (unsigned) |
access: |
write only |
mechanism: |
by reference |
Context information to keep between related calls to the
$SHOW_INTRUSION service. The context argument is the
address of a longword that receives a context from the service.
The initial value contained in the unsigned longword pointed to by the
context argument must be 0. The contents of the
unsigned longword must not be changed after the service has set its
value. If the contents of the context argument are
changed between calls to the service, SS$_BADCONTEXT will be returned.
Contexts become invalid after one-half hour of non-use. This means that
if you call the $SHOW_INTRUSION service with a wildcard in the
user_criteria argument and do not call the service to
get the next matching record within one-half hour, the context becomes
invalid. If the context has become invalid, you must restart your
search of the intrusion database from the beginning by resetting the
context to 0.
Description
The Show Intrusion service returns information about records in the
intrusion database that match the criteria you specify.
You can retrieve information about multiple records in the intrusion
database by specifying wildcards for the user_criteria
argument. For example, specifying an asterisk (*) for the
user_criteria argument and CIA$M_ALL_RECORDS for the
flags argument will return information about all
records in the database. Specifying TTA4* for the
user_criteria argument and CIA$M_SUSPECTS_ONLY for the
flags argument will return information about all
suspects who have had failures on terminal TTA4.
If you specify a wildcard string for the user_criteria
argument, you must also include a context argument.
Because the service can only return information about one intrusion
record at a time, you must call the service repeatedly to retrieve
information about more than one record. The service will return
SS$_NOMOREITEMS when information about all of the matching records has
been returned. No intrusion information is returned from the call that
returns SS$_NOMOREITEMS.
Required Access or Privileges
SECURITY privilege is required.
Required Quota
None
Related Services
$DELETE_INTRUSION, $SCAN_INTRUSION
Condition Values Returned
SS$_NORMAL
|
The service completed successfully.
|
SS$_ACCVIO
|
The
user_criteria or
context argument cannot be read, or the
intruder,
intruder_len,
breakin_block, or
context argument cannot be written.
|
SS$_BADBUFLEN
|
The length of one of the specified arguments is out of range.
|
SS$_BADCONTEXT
|
The
context argument did not contain a 0 on the first call
to the service. The
context argument's value changed between consecutive
calls to the service.
|
SS$_BADPARAM
|
An invalid value was specified in the
flags argument, or mutually exclusive options were
specified in the
flags argument.
|
SS$_NOMOREITEMS
|
All items matching the specified criteria have been returned.
|
SS$_NOSECURITY
|
The caller does not have SECURITY privilege.
|
|
|
This service can also return any of the following messages passed from
the security server:
|
SECSRV$_NOSUCHINTRUDER
|
No records matching the specified criteria were found in the intrusion
database.
|
SECSRV$_SERVERNOTACTIVE
|
The security server is not currently active. Try the request again
later.
|
$SIGNAL_ARRAY_64
Returns the address of a 64-bit signal array. A 32-bit signal array and
a mechanism array are passed to a condition handler when it is called.
$SIGNAL_ARRAY_64 provides the address of the 64-bit signal array, which
might be required for programs that use 64-bit address space.
This service accepts 64-bit addresses.
Format
SYS$SIGNAL_ARRAY_64 mcharg, sigarg_64
C Prototype
int sys$signal_array_64 (unsigned __int64 mcharg, unsigned __int64
sigarg_64);
Arguments
mcharg
OpenVMS usage: |
mechanism array |
type: |
vector quadword (unsigned) |
access: |
read only |
mechanism: |
by 32- or 64-bit reference, array reference |
The mechanism array. The mcharg argument is the 32- or
64-bit address of this array, which was passed to the condition
handler. $SIGNAL_ARRAY_64 uses this structure to determine the 64-bit
signal array address.
sigarg_64
OpenVMS usage: |
64-bit signal array |
type: |
vector quadword (unsigned) |
access: |
write only |
mechanism: |
by 32- or 64-bit reference, array reference |
The 32- or 64-bit address of the 64-bit signal array is returned in
this argument.
Description
$SIGNAL_ARRAY_64 provides the address of the 64-bit version of the
signal array for condition handlers that need it. It is normally needed
only by applications that use 64-bit address space and want to handle
errors involving addresses in that region.
For example, if an access violation occurs on a 64-bit address, the
32-bit signal array passed to the handler will contain only the low 32
bits of the effective address, because each entry is a longword. The
64-bit signal array, which can be obtained using this service, contains
quadword entries, so the 64-bit address can be fully expressed.
Required Access or Privileges
None
Required Quota
None
Related Services
$PUTMSG, which accepts either a 32-bit or 64-bit signal array as an
argument.
Condition Values Returned
SS$_NORMAL
|
The service completed successfully.
|
SS$_ACCVIO
|
The
sigarg_64 argument cannot be written.
|
SS$_BADPARAM
|
The
mcharg argument is not a mechanism array in the
expected format.
|
$SNDERR
Writes a user-specified message to the system error log file, preceding
it with the date and time.
Format
SYS$SNDERR msgbuf
C Prototype
int sys$snderr (void *msgbuf);
Argument
msgbuf
OpenVMS usage: |
char_string |
type: |
character-coded text string |
access: |
read only |
mechanism: |
by descriptor--fixed-length string descriptor |
Message to be written to the error log file. The
msgbuf argument is the address of a character string
descriptor pointing to the message text.
Description
The Send Message to Error Logger service writes a user-specified
message to the system error log file, preceding it with the date and
time. The $SNDERR service requires system dynamic memory.
Required Access or Privileges
To send a message to the error log file, the calling process must have
BUGCHK privilege.
Required Quota
None
Related Services
$ALLOC, $ASSIGN, $BRKTHRU, $BRKTHRUW, $CANCEL, $CREMBX, $DALLOC,
$DASSGN, $DELMBX, $DEVICE_SCAN, $DISMOU, $GETDVI, $GETDVIW, $GETMSG,
$GETQUI, $GETQUIW, $INIT_VOL, $MOUNT, $PUTMSG, $QIO, $QIOW, $SNDJBC,
$SNDJBCW, $SNDOPR
Condition Values Returned
SS$_NORMAL
|
The service completed successfully.
|
SS$_ACCVIO
|
The message buffer or buffer descriptor cannot be read by the caller.
|
SS$_INSFMEM
|
The system dynamic memory is insufficient for completing the service.
|
SS$_NOPRIV
|
The process does not have the required BUGCHK privilege.
|
$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);
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 HP.
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. 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 be used by $SNDJBC or receives information from $SNDJBC.
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 use by $SNDJBC or received from $SNDJBC. Each
item code has a symbolic name. The $SJCDEF macro defines these symbol
names.
|
Buffer address
|
A longword containing the address of the buffer that specifies or
receives the information.
|
Return length address
|
A longword containing the address of a word to receive the length (in
bytes) of information returned by $SNDJBC. If you specify this address
as 0, no length is returned.
|
The item codes' symbolic names have the following format:
There are three types of item code:
- Boolean item code. Boolean item codes specify a true or false
value: the form SJC$_code specifies a true value; SJC$_NO_code
specifies a false value. The default value for the Boolean item codes
is false. For all Boolean item codes, the buffer length, buffer
address, and return length fields of the item descriptor must be 0.
- Input value item code. Input value item codes specify an input
value to be used by $SNDJBC. The buffer length and buffer address
fields of the item descriptor must be nonzero; the return length field
must be 0. 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 $SNDJBC. The buffer length and buffer
address fields of the item descriptor must be nonzero; the return
length field can be 0 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. For these item codes, the buffer must specify 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 (_).
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, 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 $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.
|