Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)
The FILE_COMPLETE_ procedure and its companion procedures, FILE_COMPLETE_SET_ and
FILE_COMPLETE_GETINFO_, provide additional capabilities for programs that use nowait I/O.
They combine and enhance the function of the AWAITIO[X] procedures and the OSS select()
function. For example, you can use these procedures to complete nowait I/O on OSS files in
parallel with nowait I/O on Guardian files. You can define a particular set of files to be enabled
for completion and then complete outstanding I/O operations on these files over a series of calls.
For more information about nowait I/O and the use of these procedures, see the Guardian
Programmer’s Guide.
The FILE_GETINFO_ procedure obtains a limited set of information about a file identified by file
number and indicates whether the file is an OSS file or a Guardian file with a flags word. A
Guardian filename is returned in all cases, which can be mapped to the corresponding OSS
pathname using the Guardian FILENAME_TO_PATHNAME_ procedure.
The FILE_GETINFOBYNAME_ procedure obtains information about a file identified by a Guardian
filename and indicates whether the file is an OSS file or a Guardian file with a flags word.
The FILE_GETINFOLIST_ procedure obtains detailed information about a file identified by file
number; a related procedure, FILE_GETINFOLISTBYNAME_, obtains detailed information about a
file identified by filename. Information is returned according to the items specified. In addition to
information usually obtained for Guardian files, request items can be made to return: security
mechanisms in effect, whether the file is an OSS file, requires OSS access permissions, OSS link
count, OSS owner ID, and OSS group ID.
The FILE_OPEN_ procedure can be used to open an OSS or a Guardian file. To open an OSS
file, specify an OSS pathname as an argument. OSS files can be opened only in shared exclusion
mode. OSS files can be opened for nowait I/O to perform nowait read/write I/O operations.
Sample programs showing the use of some of these Guardian file system procedures on OSS files
are included in the Open System Services Programmer’s Guide.
Guardian Process-Management Procedures
OSS processes are accessible from the Guardian environment and can be manipulated using
Guardian procedures, providing interoperability between the Guardian and OSS environments.
Guardian procedures can create and control OSS processes and can improve communication
paths between Guardian processes and OSS processes. If you wish to use a subsystem or product
that runs only in the OSS environment, you may need to manage the processes from the Guardian
environment.
When using Guardian procedures, OSS processes are identified by process handles rather than
by process IDs. You can get your own process handle using a Guardian procedure call, such as
PROCESSHANDLE_GETMINE_.
Most Guardian process-management procedures can access OSS processes, but only a small set
of OSS process-management functions can access Guardian processes.
Some of the Guardian procedures that can manipulate OSS processes are:
DescriptionProcedure
Returns a null OSS process IDOSS_PID_NULL_
Returns process to the ready statePROCESS_ACTIVATE_
Invokes debugging facility on calling processPROCESS_DEBUG_
Obtains limited set of information about a processPROCESS_GETINFO_
Obtains detailed information about a processPROCESS_GETINFOLIST_
Alters attribute of a specified processPROCESS_SETINFO_
Sets string information of a processPROCESS_SETSTRINGINFO_
Deletes a processPROCESS_STOP_
Using New and Extended Guardian Procedures 145