diff options
Diffstat (limited to 'sysif.h')
-rw-r--r-- | sysif.h | 45 |
1 files changed, 29 insertions, 16 deletions
@@ -1,4 +1,4 @@ -/* Copyright 2013-2020 +/* Copyright 2013-2024 * Kaz Kylheku <kaz@kylheku.com> * Vancouver, Canada * All rights reserved. @@ -6,23 +6,24 @@ * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ extern val stat_s; @@ -35,21 +36,29 @@ extern val atime_s, mtime_s, ctime_s; extern val atime_nsec_s, mtime_nsec_s, ctime_nsec_s; extern val path_s; +extern val child_env_s; +#define child_env (deref(lookup_var_l(nil, child_env_s))) + val errno_to_file_error(int err); +val env(void); +val replace_env(val env_list); val getenv_wrap(val name); +val errno_to_str(int err); +val exit_wrap(val status); val at_exit_call(val func); val at_exit_do_not_call(val func); val usleep_wrap(val usec); #if HAVE_FORK_STUFF val exec_wrap(val file, val args_opt); #endif -time_t c_time(val time); +time_t c_time(val time, val self); val num_time(time_t time); #if HAVE_SYS_STAT struct stat; -val stat_to_struct(struct stat st, val path); +val stat_to_struct(struct stat st, val path, val stat_opt); +val umask_wrap(val mask); #endif -val stat_wrap(val path); +val stat_wrap(val path, val stat_opt); val stdio_ftell(FILE *); int stdio_fseek(FILE *, val, int whence); #if HAVE_GETEUID @@ -64,4 +73,8 @@ INLINE void simulate_setuid_setgid(val open_script) { } #if HAVE_UNISTD_H val getcwd_wrap(void); #endif +#if HAVE_RLIMIT +val getrlimit_wrap(val resource, val rlim_opt); +val setrlimit_wrap(val resource, val rlim); +#endif void sysif_init(void); |