Document revision date: 19 July 1999 | |
Previous | Contents | Index |
The ACL editor CALL_USER routine is part of the shareable image SYS$LIBRARY:ACLEDTSHR.EXE. You can incorporate the ACL editor CALL_USER routine with its existing function codes into your own ACL section file, or you can write your own CALL_USER routine that recognizes a different set of function codes.
The ACL editor CALL_USER routine recognizes only those functions used by the ACL editor DECtpu section file. All other function codes are passed to a user-supplied CALL_USER routine; if the high-order word of the CALL_USER function code contains the ACL editor facility code (277 in decimal or 115 in hexadecimal), it is handled by the ACL editor CALL_USER routine. Otherwise, an attempt is made to locate a user-supplied CALL_USER routine. Refer to the description of the CALL_USER routine in the DEC Text Processing Utility Reference Manual for more information about creating your own CALL_USER routine.
Table B-2 describes the CALL_USER routine function codes supported by the ACL editor.
Function Code |
Mnemonic | Description |
---|---|---|
18153473 | ACLEDIT$C_PARSE_ACE | Parses the input string (ACE) and returns the parsed (binary) ACE if no errors are found. Otherwise, the returned string contains a zero as the first two characters, and the unparsed portion of the input ACE as the remainder of the string. |
18153474 | ACLEDIT$C_CHECK_MODIFY | Returns the string "READ_WRITE" if the ACE can be modified by the user. Otherwise, returns the string "READ_ONLY." |
18153475 | ACLEDIT$C_PROMPT_MODE | Returns the string "PROMPT_MODE" if the prompt mode option was specified. Otherwise, returns the string "NOPROMPT_MODE." |
18153476 | ACLEDIT$C_CHECK_ACE | Parses the input string (ACE) and returns the parsed (binary) ACE if no errors are found. Otherwise, the ACE text is highlighted in reverse video and a DECtpu variable of the form ACLEDIT$X_RANGE_x is created to identify the ACE in error. (The "x" is a sequential number starting with 1.) |
18153477 | ACLEDIT$C_CHECK_DIR | Returns the string "DIRECTORY_FILE" if the object being edited is a directory file. Otherwise, returns the string "NODIRECTORY_FILE." |
18153478 | ACLEDIT$C_SET_CANDIDATE | Parses the input string (ACE) and returns the string "PARSE_OK" if no error was encountered. Otherwise, returns the string "PARSE_ERROR." If the parse was successful, a check is made for duplicate ACEs using the CALL_USER function ACLEDIT$C_CHECK_DUP. |
18153479 | ACLEDIT$C_CHECK_DUP | Parses the input string (ACE) and returns the string "PARSE_ERROR" if an error was encountered. Otherwise, the parsed (binary) ACE is compared with the candidate ACE set by the CALL_USER function ACLEDIT$C_SET_CANDIDATE. Returns the string "DUPLICATE_ACE" if the ACE is a duplicate, or "UNIQUE_ACE" if it is not a duplicate. |
18153482 | ACLEDIT$C_MESSAGE | Assumes the input string is a system error code and returns in the ACL editor message window the message text associated with the error code. |
Table C-1 gives a summary of the system services that relate to accounting. No system service reads accounting files; to do this you must use knowledge of the structure of accounting files.
System Service | Description |
---|---|
$CREPRC | Creates a process in which accounting can be disabled. |
$SNDJBC | Controls what resources are logged in the current accounting file, or logs a user-defined record in the current accounting file. |
This appendix describes the structure of an accounting file. It is for programmers who want to access accounting data directly.
The formats described here are subject to change without notice in a future release. |
The symbols and offsets described in this appendix are defined by the
$ACRDEF macro in the STARLET library.
C.1 Format of an Accounting File Record
An accounting record consists of an accounting record header and a number of information packets. The number and type of information packets depend on the type of the record.
Figure C-1 illustrates the general format of an accounting record. Table C-2 describes the fields in the record header. The type field in the record header is subdivided into five fields, described in Table C-3.
Figure C-1 Format of an Accounting Record
Symbolic Offset | Description |
---|---|
ACR$W_TYPE | Identifies the type of the record. This field is subdivided into five fields, described in Table C-3. (word) |
ACR$W_LENGTH | Total length of the record, in bytes. (word) |
ACR$Q_SYSTIME | System time (64-bit absolute time). (quadword) |
Symbolic Offset | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ACR$V_PACKET | Identifies this header as a record header. This bit must be 0. (1 bit) | ||||||||||||
ACR$V_TYPE | Identifies the type of the record. The eight record types are described in Table C-4. (7 bits) | ||||||||||||
ACR$V_SUBTYPE |
Identifies the type of process with which the record is associated. The
subtypes (4 bits) are:
Note that this field is only meaningful for records of type ACR$K_IMGDEL and ACR$K_PRCDEL. |
||||||||||||
ACR$V_VERSION |
Identifies the version of the accounting file record structure. The
versions (3 bits) are:
|
||||||||||||
ACR$V_CUSTOMER | Identifies whether the record was written by Compaq software or by customer software. If this bit is 0, the record was written by Compaq software. If this bit is 1, the record was written by customer software. (1 bit) |
ACR$K_CURVER = Current version. Set equal to ACR$K_VERSION3 in this release. |
The type of an accounting record identifies the type of event that caused the record to be logged. The eight types of accounting records are shown in Table C-4. This table shows the information packets contained in each type of record.
Symbol | Event | Information Packets |
---|---|---|
ACR$K_FILE_BL | The accounting file was opened | ACR$K_FILENAME |
ACR$K_FILE_FL | The accounting file was closed | ACR$K_FILENAME |
ACR$K_IMGDEL | An image terminated |
ACR$K_ID
ACR$K_RESOURCE ACR$K_IMAGENAME |
ACR$K_LOGFAIL | A login attempt failed |
ACR$K_ID
ACR$K_RESOURCE |
ACR$K_PRCDEL | A process terminated |
ACR$K_ID
ACR$K_RESOURCE |
ACR$K_PRINT | A print job finished |
ACR$K_ID
ACR$K_PRINT |
ACR$K_SYSINIT | The system was initialized |
ACR$K_ID
ACR$K_RESOURCE |
ACR$K_USER | An accounting message was sent by the $SNDJBC system service |
ACR$K_ID
ACR$K_USER_DATA |
The header, in each of the six types of information packets, defines the type of packet as follows:
Section C.1.2.1 describes the general format of an information packet.
Section C.1.2.2 to Section C.1.2.7 describe the format of each type of
information packet.
C.1.2.1 General Format
Each information packet contains a packet header, followed by data fields. The data fields can contain fixed-length data, variable-length data, or offsets to variable-length data. Offsets contain the distance in bytes from the beginning of the packet to the variable-length data.
All variable-length data are represented as counted strings. Variable-length data follow the last fixed-length data field in the packet. Figure C-2 shows the general format of an information packet. An information packet may not have values in all of its data fields.
See Section C.1.2.2 to Section C.1.2.7 for complete descriptions of the data fields contained in each information packet.
All information packets start with a packet header that has ACR$W_LENGTH and ACR$W_TYPE fields (see Table C-5 and Table C-6).
Figure C-2 Format of an Information Packet
Symbolic Offset | Description |
---|---|
ACR$W_TYPE | Identifies the type of the packet. This field is subdivided into five fields, described in Table C-6. (word) |
ACR$W_LENGTH | Total length of the packet, in bytes. (word) |
Symbolic Offset | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ACR$V_PACKET | Identifies this header as a packet header. This bit must be 1. (1 bit) | ||||||||||||||
ACR$V_TYPE |
Identifies the type of the packet. The six packet types (7 bits) are:
|
||||||||||||||
ACR$V_SUBTYPE | Identifies the packet subtype; reserved for future use. (4 bits) | ||||||||||||||
ACR$V_VERSION | See Table C-3. | ||||||||||||||
ACR$V_CUSTOMER | See Table C-3. |
The file name packet contains the name of the accounting file. Figure C-3 shows the format of the file name packet. Table C-7 describes the field contained in the packet. See Section C.1.2.1 for information on the packet header.
Figure C-3 Format of a File Name Packet
Symbolic Offset | Description |
---|---|
ACR$T_FILENAME | Name of the file (counted ASCII string that gives full file specification). |
The identification packet identifies the process that caused the record to be logged.
Figure C-4 shows the format of the identification packet. Table C-8 describes the fields contained in the packet. See Section C.1.2.1 for information on the packet header.
Figure C-4 Format of an Identification Packet
Symbolic Offset | Description |
---|---|
ACR$L_PID | Process identifier (PID) of the process. (longword) |
ACR$L_OWNER | PID of the parent process. (longword) |
ACR$L_UIC | UIC of the process. The UIC can be addressed as two separate words: ACR$W_MEM for the member number, and ACR$W_GRP for the group number. (longword) |
ACR$Q_PRIV | Privileges held by the process. (quadword) |
ACR$B_PRI | Base priority of the process. (byte) |
ACR$B_IDFLGS | Flags byte; full address and full name present if low bit is set. |
ACR$W_USERNAME | Offset to counted ASCII string containing the user name of the process. (word) |
ACR$W_ACCOUNT | Offset to counted ASCII string containing the account name of the process. (word) |
ACR$W_NODENAME | Offset to counted ASCII string containing the Phase W node name of the remote process. (word) |
ACR$W_TERMINAL | Offset to counted ASCII string containing the terminal name. (word) |
ACR$W_JOBNAME | Offset to counted ASCII string containing the job name. (word) |
ACR$L_JOBID | Identification of the print or batch job (queue entry number). (longword) |
ACR$W_QUEUE | Offset to counted ASCII string containing the name of the queue with which a batch or print job is associated. (word) |
ACR$W_NODEADDR | Offset to a counted binary string containing the Phase W remote node address. (word) |
ACR$W_REMOTEID | Offset to counted ASCII string containing the remote ID of the remote process (varies with network implementation and use). (word) |
ACR$W_FULLADDR | Offset to a counted binary string containing the complete remote node network address. On a DECnet-Plus system, this is the remote node's NSAP address. |
ACR$W_FULLNAME | Offset to a counted ASCII string containing the complete remote node name. On a DECnet-Plus system, this is the remote node's full name. |
The image name packet contains the name of the image executed by the identified process.
Figure C-5 shows the format of the image name packet. Table C-9 describes the field contained in the packet. See Section C.1.2.1 for information on the packet header.
Figure C-5 Format of an Image Name Packet
Symbolic Offset | Description |
---|---|
ACR$T_IMAGENAME | Name of the image (counted ASCII string that gives full file specification). |
The print resource packet contains information about print jobs.
Figure C-6 shows the format of the print resource packet. Table C-10 describes the fields contained in the packet. See Section C.1.2.1 for information on the packet header.
Figure C-6 Format of a Print Resource Packet
Symbolic Offset | Description |
---|---|
ACR$L_PRINTSTS | Status of the print job. (longword) |
ACR$Q_QUETIME | Time the job was queued. (64-bit absolute time) |
ACR$Q_BEGTIME | Time the job was started. (64-bit absolute time) |
ACR$L_SYMCPUTIM | Symbiont CPU time (always zero). (longword) |
ACR$L_PAGECNT | Number of pages printed. (longword) |
ACR$L_QIOCNT | Number of QIOs issued to the printer. (longword) |
ACR$L_GETCNT | Number of GETs from the file that was printed. (longword) |
The resource packet contains information about the identified process.
Figure C-7 shows the format of a resource packet. Table C-11 describes the fields contained in the packet. See Section C.1.2.1 for information on the packet header.
Figure C-7 Format of a Resource Packet
Symbolic Offset | Description |
---|---|
ACR$Q_LOGIN | 64-bit absolute time at which the image was run or the process was created. (quadword) |
ACR$L_STATUS | Final exit status of the image, or for a process, the final status of the last image executed in the process. (longword) |
ACR$L_IMGCNT | Number of images run by the process. (longword) |
ACR$L_CPUTIME | Total CPU time used by the image or process, measured in units of 10 milliseconds. This includes any vector CPU time. (longword) |
ACR$L_FAULTS | Number of hard and soft page faults incurred by the image or process. (longword) |
ACR$L_FAULTIO | Number of hard page faults incurred by the image or process. (longword) |
ACR$L_WSPEAK | Maximum working set size used by the image or process. (longword) |
ACR$L_PAGEFL | Maximum page file usage. (longword) |
ACR$L_DIOCNT | Number of direct I/Os made by the image or process. (longword) |
ACR$L_BIOCNT | Number of buffered I/Os made by the image or process. (longword) |
ACR$L_VOLUMES | Number of volumes mounted by the image or process. (longword) |
ACR$L_VP_CPUTIME | Vector CPU time used by the image or process, measured in units of 10 milliseconds. (longword) |
Previous | Next | Contents | Index |
privacy and legal statement | ||
6048PRO_074.HTML |