NAME
io.ops
DESCRIPTION
Parrot's IO API
Parrot IO API Operations
- 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:
- 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:
- 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).
r : read w : write a : append (Note: you must specify "wa", not just "a") p : pipe
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