Previous | Contents | Index |
The SWRK_DO_COMMAND routine ...
status =SWRK_DO_COMMAND(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DO_COMMAND routine ...
The SWRK_DUMP_IMAGE_INFO routine ...
status =SWRK_DUMP_IMAGE_INFO(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DUMP_IMAGE_INFO routine ...
The SWRK_DUMP_MEMORY_BEGIN routine ...
status =SWRK_DUMP_MEMORY_BEGIN(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DUMP_MEMORY_BEGIN routine ...
The SWRK_DUMP_MEMORY_CELL routine ...
status =SWRK_DUMP_MEMORY_CELL(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DUMP_MEMORY_CELL routine ...
The SWRK_DUMP_MEMORY_CONTEXT routine ...
status =SWRK_DUMP_MEMORY_CONTEXT(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DUMP_MEMORY_CONTEXT routine ...
The SWRK_DUMP_MEMORY_END routine ...
status =SWRK_DUMP_MEMORY_END(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DUMP_MEMORY_END routine ...
The SWRK_DUMP_MEMORY_RANGE routine ...
status =SWRK_DUMP_MEMORY_RANGE(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DUMP_MEMORY_RANGE routine ...
The SWRK_DUMP_PROCESS_INFO routine ...
status =SWRK_DUMP_PROCESS_INFO(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_DUMP_PROCESS_INFO routine ...
The SWRK_EMPTY_STRING routine ...
status =SWRK_EMPTY_STRING(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_EMPTY_STRING routine ...
The SWRK_ENQUEUE_SERVER_MESSAGE routine ...
status =SWRK_ENQUEUE_SERVER_MESSAGE(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_ENQUEUE_SERVER_MESSAGE routine ...
The Establish Exception Handler routine causes the SysWorks exception handler to be used for process exceptions.
status =SWRK_ESTABLISH ([force-frame])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
force-frame
VMS usage: boolean type: integer (unsigned) access: read only mechanism: by value
Specifies whether the exception handler is to be placed in the current frame even when SWRK_ESTABLISH is called in user mode from within a shareable image when not debugging or gathering performance criteria. See the description below for details.
The SWRK_ESTABLISH routine causes the SysWorks exception handler to be used for process exceptions. This can be achieved by placing the exception handler on the current frame or by declaring a secondary exception handler.If SWRK_ESTABLISH is called from an elevated mode, the secondary exception handler is declared for that mode and for each outer mode eg. if declared in executive mode, it is also declared in supervisor and user mode.
If SWRK_ESTABLISH is called in user mode, a check is made to see whether the DEBUG or PCA$COLLECTOR image is present. If so, no exception handler is declared. If not, a check is made to see whether SWRK_ESTABLISH wass called from the main image or from a shareable image. If from the main image, the exception handler is established on the current frame, otherwise the secondary exception handler is declared as for elevated modes. If the force-frame argument is passed as true, the main or shareable image check is not made and the handler is always placed on the current frame.
The SWRK_EXCEPTION_HANDLER routine ...
status =SWRK_EXCEPTION_HANDLER(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_EXCEPTION_HANDLER routine ...
The SWRK_EXIT_IMAGE routine ...
status =SWRK_EXIT_IMAGE(arg1, [arg2])
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
arg1
VMS usage: arg1_type type: integer (unsigned) access: read only mechanism: by reference
Specifies arg1...
arg2
VMS usage: arg2_type type: character string access: read only mechanism: by descriptor
Specifies arg2...
The SWRK_EXIT_IMAGE routine ...
The Extended File Search routine performs a file search with extended input and output arguments compared with LIB$FILE_FILE.
status =SWRK_EXTENDED_FILE_SEARCH (func, filespec, [default-filespec], [related-filespec], itmlst, [fab], [context] )
VMS usage: cond_value type: integer (unsigned) access: write only mechanism: by value in R0
func
VMS usage: function_code type: integer (unsigned) access: read only mechanism: by reference
Specifies the function to be performed. Consists of a code in the low order word and a set of flags in the high order word.
filespec
VMS usage: char_string type: character string access: read only mechanism: by descriptor
default-filespec
VMS usage: char_string type: character string access: read only mechanism: by descriptor
related-filespec
VMS usage: char_string type: character string access: read only mechanism: by descriptor
itmlst
VMS 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, buffer length, buffer address and retrn length address. 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 SWRK_EXTENDED_FILE_SEARCH or receives information from SWRK_EXTENDED_FILE_SEARCH. 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 SWRK_EXTENDED_FILE_SEARCH or which is received from SWRK_EXTENDED_FILE_SEARCH. Each item code has a symbolic name; the $EFSDEF 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 SWRK_EXTENDED_FILE_SEARCH. |
The item codes' symbolic names have the following format:
EFS$_code |
There are two types of item code:
VMS usage: | fab |
type: | longword (unsigned) |
access: | modify |
mechanism: | by reference |
Address of a FAB control block to be used instead of the internal FAB. If this argument is missing or zero, SWRK_EXTENDED_FILE_SEARCH uses its internal FAB and NAM control blocks by default. This argument is useful if a calling program is using its own FAB and wishes to use SWRK_EXTENDED_FILE_SEARCH to extract information not normally provided directly by RMS.
VMS 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 SWRK_EXTENDED_FILE_SEARCH routine. If the argument is unspecified or 0, the routine uses the default context stream ( #0 ).
To generate a new context stream, the specified longword must contain -1. SWRK_EXTENDED_FILE_SEARCH 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 suc- cessive calls is checked and no call from a mode outside the recorded mode is allowed access.
To clean up a context, make a SWRK_EXTENDED_FILE_SEARCH call using the EFS$_FINISH function code and specify the address of the context number as the context argument.
This section lists each of the SWRK_EXTENDED_FILE_SEARCH function codes, describes the function, and lists the related item codes. All functions are context sensitive i.e. the action only applies to the specified or default context.
Where a function relates to a previous call to SWRK_EXTENDED_FILE_SEARCH and no previous call has been made or the last call used the EFS$_FINISH function, an error is returned
EFS$_CONTINUE
This request retrieves information about the next file associated with a previous call to SWRK_EXTENDED_FILE_SEARCH.EFS$_FINISH
This request terminates a file search operation that may have been initiated by a previous call to SWRK_EXTENDED_FILE_SEARCH by closing channels and releasing the context block.EFS$_GET_MORE
This request retrieves more information about the last file accessed by a previous call to SWRK_EXTENDED_FILE_SEARCH.EFS$_GET_ACE
This request retrieves information about the first or next ACE associated with the file accessed by a previous call to SWRK_EXTENDED_FILE_SEARCH. If the previous call used the EFS$_GET_ACE function, the information about the next ACE is returned. If the previous call used the EFS$_START, EFS$_CONTINUE or EFS$_GET_MORE function code, information about the first ACE is returned.EFS$_START
This request starts a new file search operation. Any request initiated by a previous call to SWRK_EXTENDED_FILE_SEARCH is terminated before the new request is started.
This section lists and describes each of the SWRK_EXTENDED_FILE_SEARCH function modifiers. Each modifier has a standard OpenVMS EFS$M_modifier and EFS$V_modifier forms which are a bit mask and a bit position.
EFS$M_QUALIFIED
This section lists each of the SWRK_EXTENDED_FILE_SEARCH item codes, describes the item, and lists the function codes for which it is relevant.
EFS$_ACE
This item returns the next ACE of the file as a textual string.EFS$_ACE_BINARY
This item returns the next ACE of the file as a binary string.EFS$_ACL
This item returns the entire ACL of the file as a textual string.EFS$_ACL_BINARY
This item returns the entire ACL of the file as a binary string.EFS$_BACKUP_DATE
This item returns the backup date of the file as a quadword date.EFS$_CHANNEL
This item returns the channel used to access the file as a word integer.EFS$_CREATION_DATE
This item returns the creation date of the file as a quadword date.EFS$_DEVICE
This item returns the device part of the resultant file specification as a string.EFS$_DEVICE_DIRECTORY
This item returns the device and directory part of the resultant file specification as a string.EFS$_DIRECTORY
This item returns the directory part of the resultant file specification as a string.EFS$_DISK_QUOTA
This item returns the disk quota of the owner of the file as a longword integer.EFS$_EXPANDED_DEFAULT
This item returns the device and directory part of the expanded file specification as a string. This can be used to for the default for subsequent file specifications in a list.EFS$_EXPANDED_FILE_SPEC
This item returns the expanded file specification as a string.EFS$_EXPIRY_DATE
This item returns the expiry date of the file as a quadword date.EFS$_FAB
This item returns the address of the FAB control block used to access the file as a longword pointer.EFS$_FAT
This item returns the address of the FAT used to access the file as a longword pointer.EFS$_FIB
This item returns the address of the FIB used to access the file as a longword pointer.EFS$_FILE_CHARACTERISTICS
This item returns the file characteristics the file as a longword integer.EFS$_FILE_ID
This item returns the file ID of the file as a three word array.EFS$_FILE_SPEC
This item returns the resultant file specification as a string.EFS$_NAME
This item returns the file name part of the resultant file specification as a string.EFS$_NAME_TYPE
This item returns the file name and type part of the resultant file specification as a string.EFS$_NODE
This item returns the node part of the resultant file specification as a string.EFS$_OWNER
This item returns the owner of the file as a longword identifier.EFS$_PROTECTION
This item returns the SOGW protection of the file as a word bitmask.EFS$_REVISION_DATE
This item returns the revision date of the file as a quadword date.EFS$_SIZE_ALLOCATED
This item returns the number of blocks allocated to the file as a longword integer.EFS$_SIZE_USED
This item returns the number of blocks used by the file as a longword integer.EFS$_TYPE
This item returns the file type part of the resultant file specification as a string.EFS$_VERSION
This item returns the version part of the resultant file specification as a string.
The SWRK_EXTENDED_FILE_SEARCH routine provides an enhanced file search ability. It uses the conventional filespec, default-filespec and related-filespec arguments associated with file search. It also uses an itmlst which provides input items for search qualification such as created after a certain date and output items which return values such as the creation date.
Previous | Next | Contents | Index |