This describe is a function pointer table that must point at the implementation functions
of a
.
has a pointer to such a structure. See
for more details.
|
Function
|
What should be done
|
What should be returned
|
|
open
|
Opens the 流.
This function is never called directly by the interpreter, as you must open
the file yourself, by instanciating the Stream Gambas object, and by filling the GB_STREAM
structure appropriately.
|
TRUE if the 流 cannot be opened, and FALSE if everything is OK.
|
|
close
|
Closes the 流.
|
FALSE.
|
|
read
|
Reads len bytes into the 流, and fills the buffer with them.
|
TRUE if there was an error, and FALSE if everything is OK.
The errno code is used by the interpreter
to choose the error message.
|
|
write
|
Writes the len bytes located at buffer to the 流.
|
TRUE if there was an error, and FALSE if everything is OK.
The errno code is used by the interpreter
to choose the error message.
|
|
seek
|
Seeks into the 流.
- pos is the position inside the 流.
- whence is one the following constants:
- SEEK_SET, to indicate that pos is an absolute position.
- SEEK_CUR, to indicate that pos is an offset to the current position.
- SEEK_END, to indicate that pos is an offset from the end of the 流.
|
TRUE if seeking is impossible, and FALSE if everything is OK.
|
|
tell
|
Returns the current 流 position in pos.
|
TRUE if seeking is impossible, and FALSE if everything is OK.
|
|
flush
|
Flushes the 流.
|
TRUE if there was an error, and FALSE if everything is OK.
If flushing has no sense for your 流, then you must return FALSE.
|
|
eof
|
Checks the end of the 流.
|
TRUE if the end of the 流 is reached, FALSE otherwise.
|
|
lof
|
Returns in len the length of the 流.
If this has no sense for your 流, and if the handle function returns a
system file descriptor, you can let the interpreter returns the maximum number
of bytes that can be read on the 流 for you, by putting 0 in len.
|
FALSE.
|
|
handle
|
Returns the underlying system file descriptor.
|
The underlying system file descriptor.
|