iostatus - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


iostatus

indicate status of all open files

 

Description

Thread Safety

Examples

Description

The iostatus function takes no arguments, and returns a list of at least three elements.

– 

The number of files open by the I/O library

– 

The number of currently active nested "read" commands

– 

The upper bound on iostatus()[1] + iostatus()[2]

For each open file, an additional element appears in the list. Each element is itself a list, whose elements are:

1. 

The file descriptor (from fopen, open, pipe, or popen)

2. 

The name of the file, pipe, or process

3. 

The file type (STREAM, RAW, PIPE, PROCESS, or DIRECT)

4. 

FP=address for a STREAM or PROCESS, FD=num otherwise

5. 

The file mode (READ or WRITE)

6. 

The file type (TEXT or BINARY)

• 

Element 2, the name, contains the actual file name for a STREAM or RAW file, "pipe:n" where "n" is the actual file descriptor for a PIPE file, the process name (ie. the command) for a PROCESS file, and "default" or "terminal" for a DIRECT file.

• 

Element 4 gives the internal representation of the file, either a file pointer (FILE *) or file descriptor (int).  This is useful when opening a pipe, because whatever you connect the other end of the pipe to needs to know the actual file descriptor, not the Maple file descriptor.

Thread Safety

• 

The iostatus command is thread safe as of Maple 15.

• 

iostatus returns the status of the i/o system at the moment at which iostatus is executed.  However events occurring in parallel threads can effect the status as soon as iostatus has returned.

• 

For more information on thread safety, see index/threadsafe.

Examples

fopentestFile,WRITE

0

(1)

opentestFile2,WRITE

1

(2)

iostatus

2,0,7,0,testFile,STREAM,FP=628164,WRITE,TEXT,1,testFile2,RAW,FD=6,WRITE,BINARY

(3)

See Also

feof

file_types

filepos