| ------------------------------------------------------------------------------- | |
| -- Operating System Facilities. | |
| -- This library is implemented through table os. | |
| -- @module os | |
| ------------------------------------------------------------------------------- | |
| -- Returns an approximation of the amount in seconds of CPU time used by | |
| -- the program. | |
| -- @function [parent=#os] clock | |
| -- @return #number the amount in seconds of CPU time used by | |
| -- the program. | |
| ------------------------------------------------------------------------------- | |
| -- Returns a string or a table containing date and time, formatted according | |
| -- to the given string `format`. | |
| -- | |
| -- If the `time` argument is present, this is the time to be formatted | |
| -- (see the `os.time` function for a description of this value). Otherwise, | |
| -- `date` formats the current time. | |
| -- | |
| -- If `format` starts with '`!`', then the date is formatted in Coordinated | |
| -- Universal Time. After this optional character, if `format` is the string | |
| -- "`*t`", then `date` returns a table with the following fields: | |
| -- | |
| -- * `year` (four digits) | |
| -- * `month` (1--12) | |
| -- * `day` (1--31) | |
| -- * `hour` (0--23) | |
| -- * `min` (0--59) | |
| -- * `sec` (0--61) | |
| -- * `wday` (weekday, Sunday is 1) | |
| -- * `yday` (day of the year) | |
| -- * `isdst` (daylight saving flag, a boolean). | |
| -- | |
| -- If `format` is not "`*t`", then `date` returns the date as a string, | |
| -- formatted according to the same rules as the C function `strftime`. | |
| -- When called without arguments, `date` returns a reasonable date and time | |
| -- representation that depends on the host system and on the current locale | |
| -- (that is, `os.date()` is equivalent to `os.date("%c")`). | |
| -- On non-Posix systems, this function may be not thread safe because of its | |
| -- reliance on C function gmtime and C function localtime. | |
| -- @function [parent=#os] date | |
| -- @param #string format format of date (optional). | |
| -- @param #number time time to format (optional, default value is current time) | |
| -- @return #string a formatted string representation of `time`. | |
| ------------------------------------------------------------------------------- | |
| -- Returns the number of seconds from time `t1` to time `t2`. In POSIX, | |
| -- Windows, and some other systems, this value is exactly `t2`*-*`t1`. | |
| -- @function [parent=#os] difftime | |
| -- @param #number t2 | |
| -- @param #number t1 | |
| -- @return #number the number of seconds from time `t1` to time `t2`. | |
| ------------------------------------------------------------------------------- | |
| -- This function is equivalent to the ANSI C function `system`. It passes command | |
| -- to be executed by an operating system shell. Its first result is **true** if | |
| -- the command terminated successfully, or **nil** otherwise. After this first | |
| -- result the function returns a string and a number, as follows: | |
| -- | |
| -- * _"exit"_: the command terminated normally; the following number is | |
| -- the exit status of the command. | |
| -- * _"signal"_: the command was terminated by a signal; the following number | |
| -- is the signal that terminated the command. | |
| -- | |
| -- When called without a command, os.execute returns a boolean that is true | |
| -- if a shell is available. | |
| -- @function [parent=#os] execute | |
| -- @param #string command command to be executed (optional). | |
| -- @return A status code which is system-dependent. | |
| -- @return #boolean true if a shell is available | |
| ------------------------------------------------------------------------------- | |
| -- Calls the ANSI C function exit to terminate the host program. If code is **true**, | |
| -- the returned status is `EXIT_SUCCESS`; if code is **false**, the returned status is | |
| -- `EXIT_FAILURE`; if code is a number, the returned status is this number. | |
| -- The default value for code is `true`. | |
| -- | |
| -- If the optional second argument `close` is **true**, closes the Lua state before exiting. | |
| -- @function [parent=#os] exit | |
| -- @param #number code an exit code. (optional, **true** by default) | |
| -- @param #boolean close indicate if the Lua state have to be closed (optional, **false** by default) | |
| ------------------------------------------------------------------------------- | |
| -- Returns the value of the process environment variable `varname`, or | |
| -- **nil** if the variable is not defined. | |
| -- @function [parent=#os] getenv | |
| -- @param #string varname an environment variable name. | |
| -- @return The value of the process environment variable `varname` | |
| -- @return #nil if the variable is not defined. | |
| ------------------------------------------------------------------------------- | |
| -- Deletes the file (or empty directory, on POSIX systems) with the given name. | |
| -- If this function fails, it returns **nil**, plus a string describing the error | |
| -- and the error code. | |
| -- @function [parent=#os] remove | |
| -- @param filename the path to the file or directory to delete. | |
| -- @return #nil, #string an error message if it failed. | |
| ------------------------------------------------------------------------------- | |
| -- Renames file or directory named `oldname` to `newname`. If this function | |
| -- fails, it returns **nil**, plus a string describing the error. | |
| -- @function [parent=#os] rename | |
| -- @param oldname the path to the file or directory to rename. | |
| -- @param newname the new path. | |
| -- @return #nil, #string an error message if it failed. | |
| ------------------------------------------------------------------------------- | |
| -- Sets the current locale of the program. `locale` is a string specifying | |
| -- a locale; `category` is an optional string describing which category to | |
| -- change: `"all"`, `"collate"`, `"ctype"`, `"monetary"`, `"numeric"`, or | |
| -- `"time"`; the default category is `"all"`. The function returns the name | |
| -- of the new locale, or **nil** if the request cannot be honored. | |
| -- | |
| -- If `locale` is the empty string, the current locale is set to an | |
| -- implementation-defined native locale. If `locale` is the string "`C`", | |
| -- the current locale is set to the standard C locale. | |
| -- | |
| -- When called with nil as the first argument, this function only returns | |
| -- the name of the current locale for the given category. | |
| -- @function [parent=#os] setlocale | |
| -- @param #string locale a string specifying a locale. | |
| -- @param #string category `"all"`, `"collate"`, `"ctype"`, `"monetary"`, `"numeric"`, or | |
| -- `"time"`; the default category is `"all"`. | |
| -- @return #string the current locale. | |
| ------------------------------------------------------------------------------- | |
| -- Returns the current time when called without arguments, or a time representing | |
| -- the date and time specified by the given table. This table must have fields | |
| -- `year`, `month`, and `day`, and may have fields `hour` (default is `12`), | |
| -- `min` (default is `0`), `sec` (default is `0`), and `isdst` (default is **nil**). | |
| -- For a description of these fields, see the `os.date` function. | |
| -- | |
| -- The returned value is a number, whose meaning depends on your system. In POSIX, | |
| -- Windows, and some other systems, this number counts the number of seconds since | |
| -- some given start time (the "epoch"). In other systems, the meaning is not specified, | |
| -- and the number returned by `time` can be used only as an argument to `os.date` | |
| -- and `os.difftime`. | |
| -- @function [parent=#os] time | |
| -- @param #table table A table describing the time (optional) | |
| -- @return #number timestamp formatted according to the current system. | |
| ------------------------------------------------------------------------------- | |
| -- Returns a string with a file name that can be used for a temporary | |
| -- file. The file must be explicitly opened before its use and explicitly | |
| -- removed when no longer needed. | |
| -- | |
| -- On POSIX systems, this function also creates a file with that name, | |
| -- to avoid security risks. (Someone else might create the file with wrong | |
| -- permissions in the time between getting the name and creating the file.) | |
| -- You still have to open the file to use it and to remove it | |
| -- (even if you do not use it). | |
| -- | |
| -- When possible, you may prefer to use `io.tmpfile`, which automatically | |
| -- removes the file when the program ends. | |
| -- @function [parent=#os] tmpname | |
| -- @return #string a string with a file name that can be used for a temporary file. | |
| return nil |