From b3541ccaf8997711ec803d5af28b6a77fa533c3a Mon Sep 17 00:00:00 2001 From: ligd Date: Fri, 17 Jul 2020 15:01:54 +0800 Subject: [PATCH] libs/libc/unistd: add dummy getrlimit & setrlimit support Change-Id: Iee826204596c492ace853e49ab7ff26a2ae7fe60 Signed-off-by: ligd --- libs/libc/unistd/Make.defs | 1 + libs/libc/unistd/lib_getrlimit.c | 57 ++++++++++++++++++++++++++++++++ libs/libc/unistd/lib_setrlimit.c | 50 ++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 libs/libc/unistd/lib_getrlimit.c create mode 100644 libs/libc/unistd/lib_setrlimit.c diff --git a/libs/libc/unistd/Make.defs b/libs/libc/unistd/Make.defs index a4b8c64a26..3583e54958 100644 --- a/libs/libc/unistd/Make.defs +++ b/libs/libc/unistd/Make.defs @@ -41,6 +41,7 @@ CSRCS += lib_alarm.c lib_fstatvfs.c lib_statvfs.c lib_sleep.c lib_usleep.c CSRCS += lib_seteuid.c lib_setegid.c lib_geteuid.c lib_getegid.c CSRCS += lib_setreuid.c lib_setregid.c CSRCS += lib_getrusage.c lib_utimes.c +CSRCS += lib_setrlimit.c lib_getrlimit.c ifneq ($(CONFIG_SCHED_USER_IDENTITY),y) CSRCS += lib_setuid.c lib_setgid.c lib_getuid.c lib_getgid.c diff --git a/libs/libc/unistd/lib_getrlimit.c b/libs/libc/unistd/lib_getrlimit.c new file mode 100644 index 0000000000..2696288cf4 --- /dev/null +++ b/libs/libc/unistd/lib_getrlimit.c @@ -0,0 +1,57 @@ +/**************************************************************************** + * libs/libc/unistd/lib_getrlimit.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include + +#include + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: getrlimit + * + * Description: + * The getrlimit() and setrlimit() system calls get and + * set resource limits respectively. + * + ****************************************************************************/ + +int getrlimit(int resource, FAR struct rlimit *rlp) +{ + if (rlp == NULL) + { + set_errno(EINVAL); + return ERROR; + } + + /* This is a dummy realization to make the compiler happy */ + + memset(rlp, 0, sizeof(*rlp)); + return OK; +} diff --git a/libs/libc/unistd/lib_setrlimit.c b/libs/libc/unistd/lib_setrlimit.c new file mode 100644 index 0000000000..9d96970c28 --- /dev/null +++ b/libs/libc/unistd/lib_setrlimit.c @@ -0,0 +1,50 @@ +/**************************************************************************** + * libs/libc/unistd/lib_setrlimit.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include + +#include + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: setrlimit + * + * Description: + * The getrlimit() and setrlimit() system calls get and + * set resource limits respectively. + * + ****************************************************************************/ + +int setrlimit(int resource, FAR const struct rlimit *rlp) +{ + /* This is a dummy realization to make the compiler happy */ + + return OK; +}