Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (F)
Guardian Procedure Calls Reference Manual—522629-013
5-188
FILENAME_FINDSTART_ Procedure
You can suppress device type simulation by specifying options.<10> = 1.  
Without device-type simulation, all simulator processes and their subprocesses 
show a device type of 0 and a subtype of 30.
•
When searching for only disk files, the search is usually more efficient if you use 
the 
device-type parameter to restrict the search to disk devices.  Otherwise, 
time is spent making inquiries to nondisk devices (which can have subdevices of 
various device types that must also be searched) and simulator processes (which 
can have subprocesses of various simulated device types that must also be 
searched).
Error Handling
A section of a search pattern can be termed generic if it does not designate a specific 
entity (that is, if the section contains an asterisk or a question mark, or if the section is 
to the right of such a character). For example, the destination section $* is generic; the 
destination section in \sys.$dev.* is not generic. In \*.$dev, both the node and the 
destination sections are generic.
Some entities that should be inspected during a search might be offline. This can 
occur because either a node is not connected (error 250) or a device is down (errors 
62-66). But if the section of the search pattern corresponding to the offline entity is 
generic, the normal action of FILENAME_FINDNEXT_ is to bypass the offline entity 
without reporting the error. Such an error is termed a generic offline error. You can 
cause FILENAME_FINDNEXT_ to report all offline errors, including generic offline 
errors, by specifying 
options.<12> = 1. (Note that it is possible that some remote 
nodes are not known to the local node because the local node has not communicated 
with them since the node was system loaded; offline errors are not reported in such 
cases, regardless of the value of 
options.)
Errors associated with entities that are designated explicitly (that is, not generically) are 
always reported. This includes not only offline errors but also such errors as error 18 
(node does not exist) and error 14 (device does not exist).
Example
! process all 6-byte file names in the current subvolume
error := FILENAME_FINDSTART_ ( searchid,, 2 ); ! return only 
 ! level 2 name
 ! part
IF NOT error THEN
 error := FILENAME_FINDNEXT_ ( searchid, name:128,
 namelen );
WHILE NOT error DO
 BEGIN
 IF namelen = 6 THEN ... ! process name !
 error := FILENAME_FINDNEXT ( searchid, name:128,
 namelen );
 END;
error := FILENAME_FINDFINISH_ ( searchid );










