Mercurial > octave
diff libinterp/corefcn/syscalls.cc @ 21966:112b20240c87
move docstrings in C++ files out of C strings and into comments
* __contourc__.cc, __dispatch__.cc, __dsearchn__.cc, __ichol__.cc,
__ilu__.cc, __lin_interpn__.cc, __luinc__.cc, __magick_read__.cc,
__pchip_deriv__.cc, __qp__.cc, balance.cc, besselj.cc, betainc.cc,
bitfcns.cc, bsxfun.cc, cellfun.cc, colloc.cc, conv2.cc, daspk.cc,
dasrt.cc, dassl.cc, data.cc, debug.cc, defaults.cc, det.cc, dirfns.cc,
dlmread.cc, dot.cc, eig.cc, ellipj.cc, error.cc, fft.cc, fft2.cc,
fftn.cc, file-io.cc, filter.cc, find.cc, gammainc.cc, gcd.cc,
getgrent.cc, getpwent.cc, getrusage.cc, givens.cc, graphics.cc,
hash.cc, help.cc, hess.cc, hex2num.cc, input.cc, inv.cc, kron.cc,
load-path.cc, load-save.cc, lookup.cc, ls-oct-text.cc, lsode.cc,
lu.cc, mappers.cc, matrix_type.cc, max.cc, mgorth.cc, nproc.cc,
oct-hist.cc, octave-link.cc, ordschur.cc, pager.cc, pinv.cc,
pr-output.cc, profiler.cc, psi.cc, pt-jit.cc, quad.cc, quadcc.cc,
qz.cc, rand.cc, rcond.cc, regexp.cc, schur.cc, sighandlers.cc,
sparse.cc, spparms.cc, sqrtm.cc, str2double.cc, strfind.cc, strfns.cc,
sub2ind.cc, svd.cc, sylvester.cc, symtab.cc, syscalls.cc, sysdep.cc,
time.cc, toplev.cc, tril.cc, tsearch.cc, typecast.cc, urlwrite.cc,
utils.cc, variables.cc, __delaunayn__.cc, __eigs__.cc,
__fltk_uigetfile__.cc, __glpk__.cc, __init_fltk__.cc,
__init_gnuplot__.cc, __osmesa_print__.cc, __voronoi__.cc, amd.cc,
audiodevinfo.cc, audioread.cc, ccolamd.cc, chol.cc, colamd.cc,
convhulln.cc, dmperm.cc, fftw.cc, qr.cc, symbfact.cc, symrcm.cc,
ov-base.cc, ov-bool-mat.cc, ov-cell.cc, ov-class.cc, ov-classdef.cc,
ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-re-mat.cc, ov-int16.cc,
ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-java.cc, ov-null-mat.cc,
ov-oncleanup.cc, ov-range.cc, ov-re-mat.cc, ov-struct.cc,
ov-typeinfo.cc, ov-uint16.cc, ov-uint32.cc, ov-uint64.cc, ov-uint8.cc,
ov-usr-fcn.cc, ov.cc, octave.cc, pt-arg-list.cc, pt-binop.cc,
pt-eval.cc, pt-mat.cc, lex.ll, oct-parse.in.yy:
Docstrings are now comments instead of C strings.
* build-aux/mk-opts.pl: Emit docstrings as comments instead of C
strings.
* DASPK-opts.in, LSODE-opts.in: Don't quote " in docstring fragments.
* builtins.h: Include builtin-defun-decls.h unconditionally.
* defun.h (DEFUN, DEFUNX, DEFCONSTFUN): Simply emit declaration.
(DEFALIAS): Always expand to nothing.
* defun-dld.h: No special macro expansions for MAKE_BUILTINS.
(DEFUN_DLD): Use FORWARD_DECLARE_FUN.
(DEFUNX_DLD): Use FORWARD_DECLARE_FUNX.
* defun-int.h: No special macro expansions for MAKE_BUILTINS.
(FORWARD_DECLARE_FUN, FORWARD_DECLARE_FUNX): New macros.
(DEFINE_FUN_INSTALLER_FUN): If compiling an Octave source file, pass
"external-doc" to DEFINE_FUNX_INSTALLER_FUN.
(DEFUN_INTERNAL, DEFCONSTFUN_INTERNAL, DEFUNX_INTERNAL,
DEFALIAS_INTERNAL): Delete.
* common.mk (move_if_change_rule): New macro.
(simple_move_if_change_rule): Define using move_if_change_rule.
* find-defun-files.sh (DEFUN_PATTERN): Update. Don't transform file
name extension to ".df".
* libinterp/mk-pkg-add, gendoc.pl: Operate directly on source files.
* mkbuiltins: New argument, SRCDIR. Operate directly on source files.
* mkdefs: Delete.
* libinterp/module.mk (BUILT_SOURCES): Update list to contain only
files included in other source files.
(GENERATED_MAKE_BUILTINS_INCS, DEF_FILES): Delete.
(LIBINTERP_BUILT_DISTFILES): Include $(OPT_HANDLERS) here.
(LIBINTERP_BUILT_NODISTFILES): Not here. Remove $(ALL_DEF_FILES from
the list.
(libinterp_EXTRA_DIST): Remove mkdefs from the list.
(FOUND_DEFUN_FILES): Rename from SRC_DEF_FILES.
(DLDFCN_DEFUN_FILES): Rename from DLDFCN_DEF_FILES.
(SRC_DEFUN_FILES): Rename from SRC_DEF_FILES.
(ALL_DEFUN_FILES): Rename from ALL_DEF_FILES.
(%.df: %.cc): Delete pattern rule.
(libinterp/build-env-features.cc, libinterp/builtins.cc,
libinterp/dldfcn/PKG_ADD): Use mv instead of move-if-change.
(libinterp/builtins.cc, libinterp/builtin-defun-decls.h):
Update mkbuiltins command.
($(srcdir)/libinterp/DOCSTRINGS): Update gendoc.pl command.
* liboctave/module.mk (BUILT_SOURCES): Don't include
liboctave-build-info.cc in the list.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 21 Jun 2016 16:07:51 -0400 |
parents | baeffde5c87d |
children | 7f79c716876c |
line wrap: on
line diff
--- a/libinterp/corefcn/syscalls.cc Tue Jun 21 13:08:25 2016 -0700 +++ b/libinterp/corefcn/syscalls.cc Tue Jun 21 16:07:51 2016 -0400 @@ -103,15 +103,15 @@ } DEFUNX ("dup2", Fdup2, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{fid}, @var{msg}] =} dup2 (@var{old}, @var{new})\n\ -Duplicate a file descriptor.\n\ -\n\ -If successful, @var{fid} is greater than zero and contains the new file ID@.\n\ -Otherwise, @var{fid} is negative and @var{msg} contains a system-dependent\n\ -error message.\n\ -@seealso{fopen, fclose, fcntl}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{fid}, @var{msg}] =} dup2 (@var{old}, @var{new}) +Duplicate a file descriptor. + +If successful, @var{fid} is greater than zero and contains the new file ID@. +Otherwise, @var{fid} is negative and @var{msg} contains a system-dependent +error message. +@seealso{fopen, fclose, fcntl} +@end deftypefn */) { if (args.length () != 2) print_usage (); @@ -136,25 +136,25 @@ } DEFUNX ("exec", Fexec, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{err}, @var{msg}] =} exec (@var{file}, @var{args})\n\ -Replace current process with a new process.\n\ -\n\ -Calling @code{exec} without first calling @code{fork} will terminate your\n\ -current Octave process and replace it with the program named by @var{file}.\n\ -For example,\n\ -\n\ -@example\n\ -exec (\"ls\", \"-l\")\n\ -@end example\n\ -\n\ -@noindent\n\ -will run @code{ls} and return you to your shell prompt.\n\ -\n\ -If successful, @code{exec} does not return. If @code{exec} does return,\n\ -@var{err} will be nonzero, and @var{msg} will contain a system-dependent\n\ -error message.\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{err}, @var{msg}] =} exec (@var{file}, @var{args}) +Replace current process with a new process. + +Calling @code{exec} without first calling @code{fork} will terminate your +current Octave process and replace it with the program named by @var{file}. +For example, + +@example +exec ("ls", "-l") +@end example + +@noindent +will run @code{ls} and return you to your shell prompt. + +If successful, @code{exec} does not return. If @code{exec} does return, +@var{err} will be nonzero, and @var{msg} will contain a system-dependent +error message. +@end deftypefn */) { int nargin = args.length (); @@ -198,51 +198,51 @@ } DEFUNX ("popen2", Fpopen2, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{in}, @var{out}, @var{pid}] =} popen2 (@var{command}, @var{args})\n\ -Start a subprocess with two-way communication.\n\ -\n\ -The name of the process is given by @var{command}, and @var{args} is an\n\ -array of strings containing options for the command.\n\ -\n\ -The file identifiers for the input and output streams of the subprocess are\n\ -returned in @var{in} and @var{out}. If execution of the command is\n\ -successful, @var{pid} contains the process ID of the subprocess. Otherwise,\n\ -@var{pid} is @minus{}1.\n\ -\n\ -For example:\n\ -\n\ -@example\n\ -[in, out, pid] = popen2 (\"sort\", \"-r\");\n\ -fputs (in, \"these\\nare\\nsome\\nstrings\\n\");\n\ -fclose (in);\n\ -EAGAIN = errno (\"EAGAIN\");\n\ -done = false;\n\ -do\n\ - s = fgets (out);\n\ - if (ischar (s))\n\ - fputs (stdout, s);\n\ - elseif (errno () == EAGAIN)\n\ - pause (0.1);\n\ - fclear (out);\n\ - else\n\ - done = true;\n\ - endif\n\ -until (done)\n\ -fclose (out);\n\ -waitpid (pid);\n\ -\n\ - @print{} these\n\ - @print{} strings\n\ - @print{} some\n\ - @print{} are\n\ -@end example\n\ -\n\ -Note that @code{popen2}, unlike @code{popen}, will not @nospell{\"reap\"}\n\ -the child process. If you don't use @code{waitpid} to check the child's\n\ -exit status, it will linger until Octave exits.\n\ -@seealso{popen, waitpid}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{in}, @var{out}, @var{pid}] =} popen2 (@var{command}, @var{args}) +Start a subprocess with two-way communication. + +The name of the process is given by @var{command}, and @var{args} is an +array of strings containing options for the command. + +The file identifiers for the input and output streams of the subprocess are +returned in @var{in} and @var{out}. If execution of the command is +successful, @var{pid} contains the process ID of the subprocess. Otherwise, +@var{pid} is @minus{}1. + +For example: + +@example +[in, out, pid] = popen2 ("sort", "-r"); +fputs (in, "these\nare\nsome\nstrings\n"); +fclose (in); +EAGAIN = errno ("EAGAIN"); +done = false; +do + s = fgets (out); + if (ischar (s)) + fputs (stdout, s); + elseif (errno () == EAGAIN) + pause (0.1); + fclear (out); + else + done = true; + endif +until (done) +fclose (out); +waitpid (pid); + + @print{} these + @print{} strings + @print{} some + @print{} are +@end example + +Note that @code{popen2}, unlike @code{popen}, will not @nospell{"reap"} +the child process. If you don't use @code{waitpid} to check the child's +exit status, it will linger until Octave exits. +@seealso{popen, waitpid} +@end deftypefn */) { int nargin = args.length (); @@ -369,63 +369,63 @@ */ DEFUNX ("fcntl", Ffcntl, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{err}, @var{msg}] =} fcntl (@var{fid}, @var{request}, @var{arg})\n\ -Change the properties of the open file @var{fid}.\n\ -\n\ -The following values may be passed as @var{request}:\n\ -\n\ -@vtable @code\n\ -@item F_DUPFD\n\ -Return a duplicate file descriptor.\n\ -\n\ -@item F_GETFD\n\ -Return the file descriptor flags for @var{fid}.\n\ -\n\ -@item F_SETFD\n\ -Set the file descriptor flags for @var{fid}.\n\ -\n\ -@item F_GETFL\n\ -Return the file status flags for @var{fid}. The following codes may be\n\ -returned (some of the flags may be undefined on some systems).\n\ -\n\ -@vtable @code\n\ -@item O_RDONLY\n\ -Open for reading only.\n\ -\n\ -@item O_WRONLY\n\ -Open for writing only.\n\ -\n\ -@item O_RDWR\n\ -Open for reading and writing.\n\ -\n\ -@item O_APPEND\n\ -Append on each write.\n\ -\n\ -@item O_CREAT\n\ -Create the file if it does not exist.\n\ -\n\ -@item O_NONBLOCK\n\ -Non-blocking mode.\n\ -\n\ -@item O_SYNC\n\ -Wait for writes to complete.\n\ -\n\ -@item O_ASYNC\n\ -Asynchronous I/O.\n\ -@end vtable\n\ -\n\ -@item F_SETFL\n\ -Set the file status flags for @var{fid} to the value specified by @var{arg}.\n\ - The only flags that can be changed are @w{@code{O_APPEND}} and\n\ -@w{@code{O_NONBLOCK}}.\n\ -@end vtable\n\ -\n\ -If successful, @var{err} is 0 and @var{msg} is an empty string. Otherwise,\n\ -@var{err} is nonzero and @var{msg} contains a system-dependent error\n\ -message.\n\ -@seealso{fopen, dup2}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{err}, @var{msg}] =} fcntl (@var{fid}, @var{request}, @var{arg}) +Change the properties of the open file @var{fid}. + +The following values may be passed as @var{request}: + +@vtable @code +@item F_DUPFD +Return a duplicate file descriptor. + +@item F_GETFD +Return the file descriptor flags for @var{fid}. + +@item F_SETFD +Set the file descriptor flags for @var{fid}. + +@item F_GETFL +Return the file status flags for @var{fid}. The following codes may be +returned (some of the flags may be undefined on some systems). + +@vtable @code +@item O_RDONLY +Open for reading only. + +@item O_WRONLY +Open for writing only. + +@item O_RDWR +Open for reading and writing. + +@item O_APPEND +Append on each write. + +@item O_CREAT +Create the file if it does not exist. + +@item O_NONBLOCK +Non-blocking mode. + +@item O_SYNC +Wait for writes to complete. + +@item O_ASYNC +Asynchronous I/O. +@end vtable + +@item F_SETFL +Set the file status flags for @var{fid} to the value specified by @var{arg}. + The only flags that can be changed are @w{@code{O_APPEND}} and +@w{@code{O_NONBLOCK}}. +@end vtable + +If successful, @var{err} is 0 and @var{msg} is an empty string. Otherwise, +@var{err} is nonzero and @var{msg} contains a system-dependent error +message. +@seealso{fopen, dup2} +@end deftypefn */) { if (args.length () != 3) print_usage (); @@ -451,27 +451,27 @@ } DEFUNX ("fork", Ffork, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{pid}, @var{msg}] =} fork ()\n\ -Create a copy of the current process.\n\ -\n\ -Fork can return one of the following values:\n\ -\n\ -@table @asis\n\ -@item > 0\n\ -You are in the parent process. The value returned from @code{fork} is the\n\ -process id of the child process. You should probably arrange to wait for\n\ -any child processes to exit.\n\ -\n\ -@item 0\n\ -You are in the child process. You can call @code{exec} to start another\n\ -process. If that fails, you should probably call @code{exit}.\n\ -\n\ -@item < 0\n\ -The call to @code{fork} failed for some reason. You must take evasive\n\ -action. A system dependent error message will be waiting in @var{msg}.\n\ -@end table\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{pid}, @var{msg}] =} fork () +Create a copy of the current process. + +Fork can return one of the following values: + +@table @asis +@item > 0 +You are in the parent process. The value returned from @code{fork} is the +process id of the child process. You should probably arrange to wait for +any child processes to exit. + +@item 0 +You are in the child process. You can call @code{exec} to start another +process. If that fails, you should probably call @code{exit}. + +@item < 0 +The call to @code{fork} failed for some reason. You must take evasive +action. A system dependent error message will be waiting in @var{msg}. +@end table +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -487,10 +487,10 @@ } DEFUNX ("getpgrp", Fgetpgrp, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {pgid =} getpgrp ()\n\ -Return the process group id of the current process.\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {pgid =} getpgrp () +Return the process group id of the current process. +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -503,11 +503,11 @@ } DEFUNX ("getpid", Fgetpid, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {pid =} getpid ()\n\ -Return the process id of the current process.\n\ -@seealso{getppid}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {pid =} getpid () +Return the process id of the current process. +@seealso{getppid} +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -516,11 +516,11 @@ } DEFUNX ("getppid", Fgetppid, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {pid =} getppid ()\n\ -Return the process id of the parent process.\n\ -@seealso{getpid}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {pid =} getppid () +Return the process id of the parent process. +@seealso{getpid} +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -529,11 +529,11 @@ } DEFUNX ("getegid", Fgetegid, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {egid =} getegid ()\n\ -Return the effective group id of the current process.\n\ -@seealso{getgid}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {egid =} getegid () +Return the effective group id of the current process. +@seealso{getgid} +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -542,11 +542,11 @@ } DEFUNX ("getgid", Fgetgid, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {gid =} getgid ()\n\ -Return the real group id of the current process.\n\ -@seealso{getegid}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {gid =} getgid () +Return the real group id of the current process. +@seealso{getegid} +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -555,11 +555,11 @@ } DEFUNX ("geteuid", Fgeteuid, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {euid =} geteuid ()\n\ -Return the effective user id of the current process.\n\ -@seealso{getuid}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {euid =} geteuid () +Return the effective user id of the current process. +@seealso{getuid} +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -568,11 +568,11 @@ } DEFUNX ("getuid", Fgetuid, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {uid =} getuid ()\n\ -Return the real user id of the current process.\n\ -@seealso{geteuid}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {uid =} getuid () +Return the real user id of the current process. +@seealso{geteuid} +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -581,26 +581,26 @@ } DEFUNX ("kill", Fkill, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{err}, @var{msg}] =} kill (@var{pid}, @var{sig})\n\ -Send signal @var{sig} to process @var{pid}.\n\ -\n\ -If @var{pid} is positive, then signal @var{sig} is sent to @var{pid}.\n\ -\n\ -If @var{pid} is 0, then signal @var{sig} is sent to every process\n\ -in the process group of the current process.\n\ -\n\ -If @var{pid} is -1, then signal @var{sig} is sent to every process\n\ -except process 1.\n\ -\n\ -If @var{pid} is less than -1, then signal @var{sig} is sent to every\n\ -process in the process group @var{-pid}.\n\ -\n\ -If @var{sig} is 0, then no signal is sent, but error checking is still\n\ -performed.\n\ -\n\ -Return 0 if successful, otherwise return -1.\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{err}, @var{msg}] =} kill (@var{pid}, @var{sig}) +Send signal @var{sig} to process @var{pid}. + +If @var{pid} is positive, then signal @var{sig} is sent to @var{pid}. + +If @var{pid} is 0, then signal @var{sig} is sent to every process +in the process group of the current process. + +If @var{pid} is -1, then signal @var{sig} is sent to every process +except process 1. + +If @var{pid} is less than -1, then signal @var{sig} is sent to every +process in the process group @var{-pid}. + +If @var{sig} is 0, then no signal is sent, but error checking is still +performed. + +Return 0 if successful, otherwise return -1. +@end deftypefn */) { if (args.length () != 2) print_usage (); @@ -617,15 +617,15 @@ } DEFUNX ("lstat", Flstat, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {@var{info} =} lstat (@var{symlink})\n\ -@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{symlink})\n\ -Return a structure @var{info} containing information about the symbolic link\n\ -@var{symlink}.\n\ -\n\ -The function outputs are described in the documentation for @code{stat}.\n\ -@seealso{stat, symlink}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {@var{info} =} lstat (@var{symlink}) +@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{symlink}) +Return a structure @var{info} containing information about the symbolic link +@var{symlink}. + +The function outputs are described in the documentation for @code{stat}. +@seealso{stat, symlink} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -666,19 +666,19 @@ } DEFUNX ("mkfifo", Fmkfifo, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {@var{err} =} mkfifo (@var{name}, @var{mode})\n\ -@deftypefnx {} {[@var{err}, @var{msg}] =} mkfifo (@var{name}, @var{mode})\n\ -Create a FIFO special file named @var{name} with file mode @var{mode}.\n\ -\n\ -@var{mode} is interpreted as an octal number and is subject to umask\n\ -processing. The final calculated mode is @code{@var{mode} - @var{umask}}.\n\ -\n\ -If successful, @var{err} is 0 and @var{msg} is an empty string.\n\ -Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent\n\ -error message.\n\ -@seealso{pipe, umask}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {@var{err} =} mkfifo (@var{name}, @var{mode}) +@deftypefnx {} {[@var{err}, @var{msg}] =} mkfifo (@var{name}, @var{mode}) +Create a FIFO special file named @var{name} with file mode @var{mode}. + +@var{mode} is interpreted as an octal number and is subject to umask +processing. The final calculated mode is @code{@var{mode} - @var{umask}}. + +If successful, @var{err} is 0 and @var{msg} is an empty string. +Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent +error message. +@seealso{pipe, umask} +@end deftypefn */) { if (args.length () != 2) print_usage (); @@ -713,16 +713,16 @@ */ DEFUNX ("pipe", Fpipe, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{read_fd}, @var{write_fd}, @var{err}, @var{msg}] =} pipe ()\n\ -Create a pipe and return the reading and writing ends of the pipe into\n\ -@var{read_fd} and @var{write_fd} respectively.\n\ -\n\ -If successful, @var{err} is 0 and @var{msg} is an empty string.\n\ -Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent\n\ -error message.\n\ -@seealso{mkfifo}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{read_fd}, @var{write_fd}, @var{err}, @var{msg}] =} pipe () +Create a pipe and return the reading and writing ends of the pipe into +@var{read_fd} and @var{write_fd} respectively. + +If successful, @var{err} is 0 and @var{msg} is an empty string. +Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent +error message. +@seealso{mkfifo} +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -753,100 +753,100 @@ } DEFUNX ("stat", Fstat, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{file})\n\ -@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{fid})\n\ -@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{file})\n\ -@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{fid})\n\ -Return a structure @var{info} containing the following information about\n\ -@var{file} or file identifier @var{fid}.\n\ -\n\ -@table @code\n\ -@item dev\n\ -ID of device containing a directory entry for this file.\n\ -\n\ -@item ino\n\ -File number of the file.\n\ -\n\ -@item mode\n\ -File mode, as an integer. Use the functions @w{@code{S_ISREG}},\n\ -@w{@code{S_ISDIR}}, @w{@code{S_ISCHR}}, @w{@code{S_ISBLK}},\n\ -@w{@code{S_ISFIFO}}, @w{@code{S_ISLNK}}, or @w{@code{S_ISSOCK}} to extract\n\ -information from this value.\n\ -\n\ -@item modestr\n\ -File mode, as a string of ten letters or dashes as would be returned by\n\ -@kbd{ls -l}.\n\ -\n\ -@item nlink\n\ -Number of links.\n\ -\n\ -@item uid\n\ -User ID of file's owner.\n\ -\n\ -@item gid\n\ -Group ID of file's group.\n\ -\n\ -@item rdev\n\ -ID of device for block or character special files.\n\ -\n\ -@item size\n\ -Size in bytes.\n\ -\n\ -@item atime\n\ -Time of last access in the same form as time values returned from\n\ -@code{time}. @xref{Timing Utilities}.\n\ -\n\ -@item mtime\n\ -Time of last modification in the same form as time values returned from\n\ -@code{time}. @xref{Timing Utilities}.\n\ -\n\ -@item ctime\n\ -Time of last file status change in the same form as time values\n\ -returned from @code{time}. @xref{Timing Utilities}.\n\ -\n\ -@item blksize\n\ -Size of blocks in the file.\n\ -\n\ -@item blocks\n\ -Number of blocks allocated for file.\n\ -@end table\n\ -\n\ -If the call is successful @var{err} is 0 and @var{msg} is an empty string.\n\ -If the file does not exist, or some other error occurs, @var{info} is an\n\ -empty matrix, @var{err} is @minus{}1, and @var{msg} contains the\n\ -corresponding system error message.\n\ -\n\ -If @var{file} is a symbolic link, @code{stat} will return information about\n\ -the actual file that is referenced by the link. Use @code{lstat} if you\n\ -want information about the symbolic link itself.\n\ -\n\ -For example:\n\ -\n\ -@example\n\ -[info, err, msg] = stat (\"/vmlinuz\")\n\ - @result{} info =\n\ - @{\n\ - atime = 855399756\n\ - rdev = 0\n\ - ctime = 847219094\n\ - uid = 0\n\ - size = 389218\n\ - blksize = 4096\n\ - mtime = 847219094\n\ - gid = 6\n\ - nlink = 1\n\ - blocks = 768\n\ - mode = -rw-r--r--\n\ - modestr = -rw-r--r--\n\ - ino = 9316\n\ - dev = 2049\n\ - @}\n\ - @result{} err = 0\n\ - @result{} msg =\n\ -@end example\n\ -@seealso{lstat, ls, dir}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{file}) +@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{fid}) +@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{file}) +@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{fid}) +Return a structure @var{info} containing the following information about +@var{file} or file identifier @var{fid}. + +@table @code +@item dev +ID of device containing a directory entry for this file. + +@item ino +File number of the file. + +@item mode +File mode, as an integer. Use the functions @w{@code{S_ISREG}}, +@w{@code{S_ISDIR}}, @w{@code{S_ISCHR}}, @w{@code{S_ISBLK}}, +@w{@code{S_ISFIFO}}, @w{@code{S_ISLNK}}, or @w{@code{S_ISSOCK}} to extract +information from this value. + +@item modestr +File mode, as a string of ten letters or dashes as would be returned by +@kbd{ls -l}. + +@item nlink +Number of links. + +@item uid +User ID of file's owner. + +@item gid +Group ID of file's group. + +@item rdev +ID of device for block or character special files. + +@item size +Size in bytes. + +@item atime +Time of last access in the same form as time values returned from +@code{time}. @xref{Timing Utilities}. + +@item mtime +Time of last modification in the same form as time values returned from +@code{time}. @xref{Timing Utilities}. + +@item ctime +Time of last file status change in the same form as time values +returned from @code{time}. @xref{Timing Utilities}. + +@item blksize +Size of blocks in the file. + +@item blocks +Number of blocks allocated for file. +@end table + +If the call is successful @var{err} is 0 and @var{msg} is an empty string. +If the file does not exist, or some other error occurs, @var{info} is an +empty matrix, @var{err} is @minus{}1, and @var{msg} contains the +corresponding system error message. + +If @var{file} is a symbolic link, @code{stat} will return information about +the actual file that is referenced by the link. Use @code{lstat} if you +want information about the symbolic link itself. + +For example: + +@example +[info, err, msg] = stat ("/vmlinuz") + @result{} info = + @{ + atime = 855399756 + rdev = 0 + ctime = 847219094 + uid = 0 + size = 389218 + blksize = 4096 + mtime = 847219094 + gid = 6 + nlink = 1 + blocks = 768 + mode = -rw-r--r-- + modestr = -rw-r--r-- + ino = 9316 + dev = 2049 + @} + @result{} err = 0 + @result{} msg = +@end example +@seealso{lstat, ls, dir} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -874,14 +874,14 @@ } DEFUNX ("S_ISREG", FS_ISREG, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} S_ISREG (@var{mode})\n\ -Return true if @var{mode} corresponds to a regular file.\n\ -\n\ -The value of @var{mode} is assumed to be returned from a call to\n\ -@code{stat}.\n\ -@seealso{stat, lstat}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} S_ISREG (@var{mode}) +Return true if @var{mode} corresponds to a regular file. + +The value of @var{mode} is assumed to be returned from a call to +@code{stat}. +@seealso{stat, lstat} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -892,14 +892,14 @@ } DEFUNX ("S_ISDIR", FS_ISDIR, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} S_ISDIR (@var{mode})\n\ -Return true if @var{mode} corresponds to a directory.\n\ -\n\ -The value of @var{mode} is assumed to be returned from a call to\n\ -@code{stat}.\n\ -@seealso{stat, lstat}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} S_ISDIR (@var{mode}) +Return true if @var{mode} corresponds to a directory. + +The value of @var{mode} is assumed to be returned from a call to +@code{stat}. +@seealso{stat, lstat} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -910,14 +910,14 @@ } DEFUNX ("S_ISCHR", FS_ISCHR, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} S_ISCHR (@var{mode})\n\ -Return true if @var{mode} corresponds to a character device.\n\ -\n\ -The value of @var{mode} is assumed to be returned from a call to\n\ -@code{stat}.\n\ -@seealso{stat, lstat}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} S_ISCHR (@var{mode}) +Return true if @var{mode} corresponds to a character device. + +The value of @var{mode} is assumed to be returned from a call to +@code{stat}. +@seealso{stat, lstat} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -928,14 +928,14 @@ } DEFUNX ("S_ISBLK", FS_ISBLK, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} S_ISBLK (@var{mode})\n\ -Return true if @var{mode} corresponds to a block device.\n\ -\n\ -The value of @var{mode} is assumed to be returned from a call to\n\ -@code{stat}.\n\ -@seealso{stat, lstat}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} S_ISBLK (@var{mode}) +Return true if @var{mode} corresponds to a block device. + +The value of @var{mode} is assumed to be returned from a call to +@code{stat}. +@seealso{stat, lstat} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -946,14 +946,14 @@ } DEFUNX ("S_ISFIFO", FS_ISFIFO, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} S_ISFIFO (@var{mode})\n\ -Return true if @var{mode} corresponds to a fifo.\n\ -\n\ -The value of @var{mode} is assumed to be returned from a call to\n\ -@code{stat}.\n\ -@seealso{stat, lstat}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} S_ISFIFO (@var{mode}) +Return true if @var{mode} corresponds to a fifo. + +The value of @var{mode} is assumed to be returned from a call to +@code{stat}. +@seealso{stat, lstat} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -964,14 +964,14 @@ } DEFUNX ("S_ISLNK", FS_ISLNK, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} S_ISLNK (@var{mode})\n\ -Return true if @var{mode} corresponds to a symbolic link.\n\ -\n\ -The value of @var{mode} is assumed to be returned from a call to\n\ -@code{stat}.\n\ -@seealso{stat, lstat}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} S_ISLNK (@var{mode}) +Return true if @var{mode} corresponds to a symbolic link. + +The value of @var{mode} is assumed to be returned from a call to +@code{stat}. +@seealso{stat, lstat} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -982,14 +982,14 @@ } DEFUNX ("S_ISSOCK", FS_ISSOCK, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} S_ISSOCK (@var{mode})\n\ -Return true if @var{mode} corresponds to a socket.\n\ -\n\ -The value of @var{mode} is assumed to be returned from a call to\n\ -@code{stat}.\n\ -@seealso{stat, lstat}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} S_ISSOCK (@var{mode}) +Return true if @var{mode} corresponds to a socket. + +The value of @var{mode} is assumed to be returned from a call to +@code{stat}. +@seealso{stat, lstat} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1000,10 +1000,10 @@ } DEFUN (gethostname, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} gethostname ()\n\ -Return the hostname of the system where Octave is running.\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} gethostname () +Return the hostname of the system where Octave is running. +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -1012,29 +1012,29 @@ } DEFUN (uname, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{uts}, @var{err}, @var{msg}] =} uname ()\n\ -Return system information in the structure.\n\ -\n\ -For example:\n\ -\n\ -@example\n\ -@group\n\ -uname ()\n\ - @result{} @{\n\ - sysname = x86_64\n\ - nodename = segfault\n\ - release = 2.6.15-1-amd64-k8-smp\n\ - version = Linux\n\ - machine = #2 SMP Thu Feb 23 04:57:49 UTC 2006\n\ - @}\n\ -@end group\n\ -@end example\n\ -\n\ -If successful, @var{err} is 0 and @var{msg} is an empty string.\n\ -Otherwise, @var{err} is nonzero and @var{msg} contains a\n\ -system-dependent error message.\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{uts}, @var{err}, @var{msg}] =} uname () +Return system information in the structure. + +For example: + +@example +@group +uname () + @result{} @{ + sysname = x86_64 + nodename = segfault + release = 2.6.15-1-amd64-k8-smp + version = Linux + machine = #2 SMP Thu Feb 23 04:57:49 UTC 2006 + @} +@end group +@end example + +If successful, @var{err} is 0 and @var{msg} is an empty string. +Otherwise, @var{err} is nonzero and @var{msg} contains a +system-dependent error message. +@end deftypefn */) { if (args.length () != 0) print_usage (); @@ -1053,15 +1053,15 @@ } DEFUNX ("unlink", Funlink, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{err}, @var{msg}] =} unlink (@var{file})\n\ -Delete the file named @var{file}.\n\ -\n\ -If successful, @var{err} is 0 and @var{msg} is an empty string.\n\ -Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent\n\ -error message.\n\ -@seealso{delete, rmdir}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{err}, @var{msg}] =} unlink (@var{file}) +Delete the file named @var{file}. + +If successful, @var{err} is 0 and @var{msg} is an empty string. +Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent +error message. +@seealso{delete, rmdir} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1076,51 +1076,51 @@ } DEFUNX ("waitpid", Fwaitpid, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{pid}, @var{status}, @var{msg}] =} waitpid (@var{pid}, @var{options})\n\ -Wait for process @var{pid} to terminate.\n\ -\n\ -The @var{pid} argument can be:\n\ -\n\ -@table @asis\n\ -@item @minus{}1\n\ -Wait for any child process.\n\ -\n\ -@item 0\n\ -Wait for any child process whose process group ID is equal to that of the\n\ -Octave interpreter process.\n\ -\n\ -@item > 0\n\ -Wait for termination of the child process with ID @var{pid}.\n\ -@end table\n\ -\n\ -The @var{options} argument can be a bitwise OR of zero or more of the\n\ -following constants:\n\ -\n\ -@table @code\n\ -@item 0\n\ -Wait until signal is received or a child process exits (this is the default\n\ -if the @var{options} argument is missing).\n\ -\n\ -@item WNOHANG\n\ -Do not hang if status is not immediately available.\n\ -\n\ -@item WUNTRACED\n\ -Report the status of any child processes that are stopped, and whose status\n\ -has not yet been reported since they stopped.\n\ -\n\ -@item WCONTINUE\n\ -Return if a stopped child has been resumed by delivery of @code{SIGCONT}.\n\ -This value may not be meaningful on all systems.\n\ -@end table\n\ -\n\ -If the returned value of @var{pid} is greater than 0, it is the process ID\n\ -of the child process that exited. If an error occurs, @var{pid} will be\n\ -less than zero and @var{msg} will contain a system-dependent error message.\n\ -The value of @var{status} contains additional system-dependent information\n\ -about the subprocess that exited.\n\ -@seealso{WCONTINUE, WCOREDUMP, WEXITSTATUS, WIFCONTINUED, WIFSIGNALED, WIFSTOPPED, WNOHANG, WSTOPSIG, WTERMSIG, WUNTRACED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{pid}, @var{status}, @var{msg}] =} waitpid (@var{pid}, @var{options}) +Wait for process @var{pid} to terminate. + +The @var{pid} argument can be: + +@table @asis +@item @minus{}1 +Wait for any child process. + +@item 0 +Wait for any child process whose process group ID is equal to that of the +Octave interpreter process. + +@item > 0 +Wait for termination of the child process with ID @var{pid}. +@end table + +The @var{options} argument can be a bitwise OR of zero or more of the +following constants: + +@table @code +@item 0 +Wait until signal is received or a child process exits (this is the default +if the @var{options} argument is missing). + +@item WNOHANG +Do not hang if status is not immediately available. + +@item WUNTRACED +Report the status of any child processes that are stopped, and whose status +has not yet been reported since they stopped. + +@item WCONTINUE +Return if a stopped child has been resumed by delivery of @code{SIGCONT}. +This value may not be meaningful on all systems. +@end table + +If the returned value of @var{pid} is greater than 0, it is the process ID +of the child process that exited. If an error occurs, @var{pid} will be +less than zero and @var{msg} will contain a system-dependent error message. +The value of @var{status} contains additional system-dependent information +about the subprocess that exited. +@seealso{WCONTINUE, WCOREDUMP, WEXITSTATUS, WIFCONTINUED, WIFSIGNALED, WIFSTOPPED, WNOHANG, WSTOPSIG, WTERMSIG, WUNTRACED} +@end deftypefn */) { int nargin = args.length (); @@ -1143,12 +1143,12 @@ } DEFUNX ("WIFEXITED", FWIFEXITED, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WIFEXITED (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -true if the child terminated normally.\n\ -@seealso{waitpid, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WIFEXITED (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +true if the child terminated normally. +@seealso{waitpid, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1159,14 +1159,14 @@ } DEFUNX ("WEXITSTATUS", FWEXITSTATUS, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WEXITSTATUS (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -the exit status of the child.\n\ -\n\ -This function should only be employed if @code{WIFEXITED} returned true.\n\ -@seealso{waitpid, WIFEXITED, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WEXITSTATUS (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +the exit status of the child. + +This function should only be employed if @code{WIFEXITED} returned true. +@seealso{waitpid, WIFEXITED, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1177,12 +1177,12 @@ } DEFUNX ("WIFSIGNALED", FWIFSIGNALED, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WIFSIGNALED (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -true if the child process was terminated by a signal.\n\ -@seealso{waitpid, WIFEXITED, WEXITSTATUS, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WIFSIGNALED (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +true if the child process was terminated by a signal. +@seealso{waitpid, WIFEXITED, WEXITSTATUS, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1193,14 +1193,14 @@ } DEFUNX ("WTERMSIG", FWTERMSIG, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WTERMSIG (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -the number of the signal that caused the child process to terminate.\n\ -\n\ -This function should only be employed if @code{WIFSIGNALED} returned true.\n\ -@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WTERMSIG (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +the number of the signal that caused the child process to terminate. + +This function should only be employed if @code{WIFSIGNALED} returned true. +@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1211,16 +1211,16 @@ } DEFUNX ("WCOREDUMP", FWCOREDUMP, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WCOREDUMP (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -true if the child produced a core dump.\n\ -\n\ -This function should only be employed if @code{WIFSIGNALED} returned true.\n\ -The macro used to implement this function is not specified in POSIX.1-2001\n\ -and is not available on some Unix implementations (e.g., AIX, SunOS).\n\ -@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WCOREDUMP (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +true if the child produced a core dump. + +This function should only be employed if @code{WIFSIGNALED} returned true. +The macro used to implement this function is not specified in POSIX.1-2001 +and is not available on some Unix implementations (e.g., AIX, SunOS). +@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG, WIFCONTINUED} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1231,15 +1231,15 @@ } DEFUNX ("WIFSTOPPED", FWIFSTOPPED, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WIFSTOPPED (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -true if the child process was stopped by delivery of a signal.\n\ -\n\ -This is only possible if the call was done using @code{WUNTRACED} or when\n\ -the child is being traced (see ptrace(2)).\n\ -@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WSTOPSIG, WIFCONTINUED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WIFSTOPPED (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +true if the child process was stopped by delivery of a signal. + +This is only possible if the call was done using @code{WUNTRACED} or when +the child is being traced (see ptrace(2)). +@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WSTOPSIG, WIFCONTINUED} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1250,14 +1250,14 @@ } DEFUNX ("WSTOPSIG", FWSTOPSIG, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WSTOPSIG (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -the number of the signal which caused the child to stop.\n\ -\n\ -This function should only be employed if @code{WIFSTOPPED} returned true.\n\ -@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WIFCONTINUED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WSTOPSIG (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +the number of the signal which caused the child to stop. + +This function should only be employed if @code{WIFSTOPPED} returned true. +@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WIFCONTINUED} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1268,12 +1268,12 @@ } DEFUNX ("WIFCONTINUED", FWIFCONTINUED, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WIFCONTINUED (@var{status})\n\ -Given @var{status} from a call to @code{waitpid}, return\n\ -true if the child process was resumed by delivery of @code{SIGCONT}.\n\ -@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WIFCONTINUED (@var{status}) +Given @var{status} from a call to @code{waitpid}, return +true if the child process was resumed by delivery of @code{SIGCONT}. +@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1284,13 +1284,13 @@ } DEFUNX ("canonicalize_file_name", Fcanonicalize_file_name, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {[@var{cname}, @var{status}, @var{msg}] =} canonicalize_file_name (@var{fname})\n\ -Return the canonical name of file @var{fname}.\n\ -\n\ -If the file does not exist the empty string (\"\") is returned.\n\ -@seealso{make_absolute_filename, is_absolute_filename, is_rooted_relative_filename}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {[@var{cname}, @var{status}, @var{msg}] =} canonicalize_file_name (@var{fname}) +Return the canonical name of file @var{fname}. + +If the file does not exist the empty string ("") is returned. +@seealso{make_absolute_filename, is_absolute_filename, is_rooted_relative_filename} +@end deftypefn */) { if (args.length () != 1) print_usage (); @@ -1314,12 +1314,12 @@ } DEFUNX ("F_DUPFD", FF_DUPFD, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} F_DUPFD ()\n\ -Return the numerical value to pass to @code{fcntl} to return\n\ -a duplicate file descriptor.\n\ -@seealso{fcntl, F_GETFD, F_GETFL, F_SETFD, F_SETFL}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} F_DUPFD () +Return the numerical value to pass to @code{fcntl} to return +a duplicate file descriptor. +@seealso{fcntl, F_GETFD, F_GETFL, F_SETFD, F_SETFL} +@end deftypefn */) { static int val = octave_f_dupfd_wrapper (); @@ -1330,12 +1330,12 @@ } DEFUNX ("F_GETFD", FF_GETFD, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} F_GETFD ()\n\ -Return the numerical value to pass to @code{fcntl} to return\n\ -the file descriptor flags.\n\ -@seealso{fcntl, F_DUPFD, F_GETFL, F_SETFD, F_SETFL}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} F_GETFD () +Return the numerical value to pass to @code{fcntl} to return +the file descriptor flags. +@seealso{fcntl, F_DUPFD, F_GETFL, F_SETFD, F_SETFL} +@end deftypefn */) { static int val = octave_f_getfd_wrapper (); @@ -1346,12 +1346,12 @@ } DEFUNX ("F_GETFL", FF_GETFL, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} F_GETFL ()\n\ -Return the numerical value to pass to @code{fcntl} to return\n\ -the file status flags.\n\ -@seealso{fcntl, F_DUPFD, F_GETFD, F_SETFD, F_SETFL}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} F_GETFL () +Return the numerical value to pass to @code{fcntl} to return +the file status flags. +@seealso{fcntl, F_DUPFD, F_GETFD, F_SETFD, F_SETFL} +@end deftypefn */) { static int val = octave_f_getfl_wrapper (); @@ -1362,12 +1362,12 @@ } DEFUNX ("F_SETFD", FF_SETFD, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} F_SETFD ()\n\ -Return the numerical value to pass to @code{fcntl} to set the file\n\ -descriptor flags.\n\ -@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFL}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} F_SETFD () +Return the numerical value to pass to @code{fcntl} to set the file +descriptor flags. +@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFL} +@end deftypefn */) { static int val = octave_f_setfd_wrapper (); @@ -1378,12 +1378,12 @@ } DEFUNX ("F_SETFL", FF_SETFL, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} F_SETFL ()\n\ -Return the numerical value to pass to @code{fcntl} to set the file\n\ -status flags.\n\ -@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFD}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} F_SETFL () +Return the numerical value to pass to @code{fcntl} to set the file +status flags. +@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFD} +@end deftypefn */) { static int val = octave_f_setfl_wrapper (); @@ -1394,13 +1394,13 @@ } DEFUNX ("O_APPEND", FO_APPEND, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_APPEND ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate each write operation appends,\n\ -or that may be passed to @code{fcntl} to set the write mode to append.\n\ -@seealso{fcntl, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_APPEND () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate each write operation appends, +or that may be passed to @code{fcntl} to set the write mode to append. +@seealso{fcntl, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_append_wrapper (); @@ -1411,12 +1411,12 @@ } DEFUNX ("O_ASYNC", FO_ASYNC, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_ASYNC ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate asynchronous I/O.\n\ -@seealso{fcntl, O_APPEND, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_ASYNC () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate asynchronous I/O. +@seealso{fcntl, O_APPEND, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_async_wrapper (); @@ -1427,13 +1427,13 @@ } DEFUNX ("O_CREAT", FO_CREAT, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_CREAT ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that a file should be created if it\n\ -does not exist.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_CREAT () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that a file should be created if it +does not exist. +@seealso{fcntl, O_APPEND, O_ASYNC, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_creat_wrapper (); @@ -1444,12 +1444,12 @@ } DEFUNX ("O_EXCL", FO_EXCL, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_EXCL ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that file locking is used.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_EXCL () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that file locking is used. +@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_excl_wrapper (); @@ -1460,13 +1460,13 @@ } DEFUNX ("O_NONBLOCK", FO_NONBLOCK, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_NONBLOCK ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that non-blocking I/O is in use,\n\ -or that may be passsed to @code{fcntl} to set non-blocking I/O.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_NONBLOCK () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that non-blocking I/O is in use, +or that may be passsed to @code{fcntl} to set non-blocking I/O. +@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_nonblock_wrapper (); @@ -1477,12 +1477,12 @@ } DEFUNX ("O_RDONLY", FO_RDONLY, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_RDONLY ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that a file is open for reading only.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_RDONLY () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that a file is open for reading only. +@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_rdonly_wrapper (); @@ -1493,13 +1493,13 @@ } DEFUNX ("O_RDWR", FO_RDWR, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_RDWR ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that a file is open for both reading\n\ -and writing.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_SYNC, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_RDWR () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that a file is open for both reading +and writing. +@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_SYNC, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_rdwr_wrapper (); @@ -1510,13 +1510,13 @@ } DEFUNX ("O_SYNC", FO_SYNC, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_SYNC ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that a file is open for synchronous\n\ -I/O.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_TRUNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_SYNC () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that a file is open for synchronous +I/O. +@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_TRUNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_sync_wrapper (); @@ -1527,13 +1527,13 @@ } DEFUNX ("O_TRUNC", FO_TRUNC, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_TRUNC ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that if file exists, it should be\n\ -truncated when writing.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_WRONLY}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_TRUNC () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that if file exists, it should be +truncated when writing. +@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_WRONLY} +@end deftypefn */) { static int val = octave_o_trunc_wrapper (); @@ -1544,12 +1544,12 @@ } DEFUNX ("O_WRONLY", FO_WRONLY, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} O_WRONLY ()\n\ -Return the numerical value of the file status flag that may be\n\ -returned by @code{fcntl} to indicate that a file is open for writing only.\n\ -@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} O_WRONLY () +Return the numerical value of the file status flag that may be +returned by @code{fcntl} to indicate that a file is open for writing only. +@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC} +@end deftypefn */) { static int val = octave_o_wronly_wrapper (); @@ -1560,37 +1560,37 @@ } DEFUNX ("WNOHANG", FWNOHANG, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WNOHANG ()\n\ -Return the numerical value of the option argument that may be\n\ -passed to @code{waitpid} to indicate that it should return its status\n\ -immediately instead of waiting for a process to exit.\n\ -@seealso{waitpid, WUNTRACED, WCONTINUE}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WNOHANG () +Return the numerical value of the option argument that may be +passed to @code{waitpid} to indicate that it should return its status +immediately instead of waiting for a process to exit. +@seealso{waitpid, WUNTRACED, WCONTINUE} +@end deftypefn */) { return const_value (args, octave::sys::wnohang ()); } DEFUNX ("WUNTRACED", FWUNTRACED, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WUNTRACED ()\n\ -Return the numerical value of the option argument that may be\n\ -passed to @code{waitpid} to indicate that it should also return if the child\n\ -process has stopped but is not traced via the @code{ptrace} system call\n\ -@seealso{waitpid, WNOHANG, WCONTINUE}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WUNTRACED () +Return the numerical value of the option argument that may be +passed to @code{waitpid} to indicate that it should also return if the child +process has stopped but is not traced via the @code{ptrace} system call +@seealso{waitpid, WNOHANG, WCONTINUE} +@end deftypefn */) { return const_value (args, octave::sys::wuntraced ()); } DEFUNX ("WCONTINUE", FWCONTINUE, args, , - "-*- texinfo -*-\n\ -@deftypefn {} {} WCONTINUE ()\n\ -Return the numerical value of the option argument that may be\n\ -passed to @code{waitpid} to indicate that it should also return if a stopped\n\ -child has been resumed by delivery of a @code{SIGCONT} signal.\n\ -@seealso{waitpid, WNOHANG, WUNTRACED}\n\ -@end deftypefn") + doc: /* -*- texinfo -*- +@deftypefn {} {} WCONTINUE () +Return the numerical value of the option argument that may be +passed to @code{waitpid} to indicate that it should also return if a stopped +child has been resumed by delivery of a @code{SIGCONT} signal. +@seealso{waitpid, WNOHANG, WUNTRACED} +@end deftypefn */) { return const_value (args, octave::sys::wcontinue ()); }