io.ops
Parrot's IO API
- close(invar PMC)
Close IO object $1
- fdopen(out PMC,
in INT,
in STR)
Create ParrotIO object in $1 as a copy of file descriptor $2.RT#42373: integral file descriptors might not exist outside of the UNIX platform.
This op needs work.
- getstdin(out PMC)
Create a new ParrotIO object for the stdin file descriptor and store it in $1
- getstdout(out PMC)
Create a new ParrotIO object for the stdout file descriptor and store it in $1
- getstderr(out PMC)
Create a new ParrotIO object for the stderr file descriptor and store it in $1
- open(out PMC,
in STR,
in STR)
Open URL (file,
address,
database,
in core image) named $2 with a mode string in $3 and create an IO object in $1.The mode consists of a string of characters specified in any order:
r : read
w : write
a : append (Note: you must specify "wa", not just "a")
p : pipe
- open(out PMC, in STR)
Open URL (file, address, database, in core image) named $2 with read mode and create an IO object in $1.
- print(in INT)
- print(in NUM)
- print(invar PMC)
- print(in STR)
Print $1 to standard output.
- say(in INT)
- say(in NUM)
- say(invar PMC)
- say(in STR)
Print $1 to standard output with a trailing newline.
- printerr(in INT)
- printerr(in NUM)
- printerr(in STR)
- printerr(invar PMC)
Print $1 to standard error.
- print(invar PMC, in INT)
- print(invar PMC, in NUM)
- print(invar PMC, in STR)
- print(invar PMC, invar PMC)
Print $2 on the IO stream object $1.
- read(out STR, in INT)
Read up to N bytes from standard input stream
- read(out STR, invar PMC, in INT)
Read up to N bytes from IO PMC stream.
- readline(out STR, invar PMC)
Read a line up to EOL from filehandle $2. This switches the filehandle to linebuffer-mode.
- peek(out STR)
Returns the next byte from standard input, but does not remove it from the stream.
- peek(out STR, invar PMC)
Reads the next byte from an IO PMC, but does not remove it from the stream.
- stat(out INT, in STR, in INT)
- stat(out INT, in INT, in INT)
Stat the file. Return stat element $3 for file $2 into $1. The queryable items currently are:
EXISTS 0
FILESIZE 1
ISDIR 2
ISDEV 3
CREATETIME 4 (Time file was created)
ACCESSTIME 5 (Time file was last accessed)
MODIFYTIME 6 (Time file data was changed)
CHANGETIME 7 (Time file metadata was changed)
BACKUPTIME 8 (Time of last backup)
UID 9
GID 10
- seek(invar PMC, in INT, in INT)
seek: Set file position to offset $2 on IO stream $1. 'whence' is indicated by the value in $3.
- seek(invar PMC, in INT, in INT, in INT)
64bit seek: Set file position to offset ($2 << 32 | $3) on IO stream $1. 'whence' is indicated by the value in $4. This allows 64-bit seeks with only 32-bit INTVALS.
- tell(out INT, invar PMC)
tell: Get the current file position of stream $2 and store it in $1. On systems where INTVAL is 32bit the result will be truncated if the position is beyond 2 GiB
- tell(out INT, out INT, invar PMC)
64bit tell: Get the current file positon of stream $3 in two parts of 32-bit each ($1 = pos >> 32, $2 = pos & 0xffffffff).