mescc: Mes C Library: Support GNU Tar: Add getgrgid, getgrnam, setgrent stub.
* include/grp.h: New file. * lib/stub/getgrgid.c: New file. * lib/stub/getgrnam.c: New file. * lib/stub/setgrent.c: New file. * lib/libc+gnu.c: Include them.
This commit is contained in:
parent
27045d21dc
commit
e81e48c701
|
@ -0,0 +1,43 @@
|
||||||
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
|
* Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
*
|
||||||
|
* This file is part of GNU Mes.
|
||||||
|
*
|
||||||
|
* GNU Mes is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* GNU Mes is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#ifndef __MES_GRP_H
|
||||||
|
#define __MES_GRP_H 1
|
||||||
|
|
||||||
|
#if WITH_GLIBC
|
||||||
|
#undef __MES_GRP_H
|
||||||
|
#include_next <pwd.h>
|
||||||
|
#else // ! WITH_GLIBC
|
||||||
|
|
||||||
|
struct group
|
||||||
|
{
|
||||||
|
char *gr_name;
|
||||||
|
gid_t gr_gid;
|
||||||
|
char **gr_mem;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct group *getgrent (void);
|
||||||
|
void endgrent (void);
|
||||||
|
void setgrent (void);
|
||||||
|
struct group *getgrgid (gid_t gid);
|
||||||
|
struct group *getgrnam (char const *name);
|
||||||
|
|
||||||
|
#endif // ! WITH_GLIBC
|
||||||
|
|
||||||
|
#endif // __MES_GRP_H
|
|
@ -127,4 +127,7 @@
|
||||||
|
|
||||||
// tar
|
// tar
|
||||||
#include <posix/execlp.c>
|
#include <posix/execlp.c>
|
||||||
|
#include <stub/getgrgid.c>
|
||||||
|
#include <stub/getgrnam.c>
|
||||||
#include <stub/mktime.c>
|
#include <stub/mktime.c>
|
||||||
|
#include <stub/setgrent.c>
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
*
|
||||||
|
* This file is part of GNU Mes.
|
||||||
|
*
|
||||||
|
* GNU Mes is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* GNU Mes is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libmes.h>
|
||||||
|
#include <grp.h>
|
||||||
|
|
||||||
|
struct group *
|
||||||
|
getgrgid (gid_t gid)
|
||||||
|
{
|
||||||
|
static int stub = 0;
|
||||||
|
if (__mes_debug () && !stub)
|
||||||
|
eputs ("getgrid stub\n");
|
||||||
|
static char *groups[2] = {"root", 0 };
|
||||||
|
static struct group root = {"root", 0, groups};
|
||||||
|
stub = 1;
|
||||||
|
errno = 0;
|
||||||
|
return &root;
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
*
|
||||||
|
* This file is part of GNU Mes.
|
||||||
|
*
|
||||||
|
* GNU Mes is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* GNU Mes is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libmes.h>
|
||||||
|
#include <grp.h>
|
||||||
|
|
||||||
|
struct group *
|
||||||
|
getgrnam (char const* name)
|
||||||
|
{
|
||||||
|
static int stub = 0;
|
||||||
|
if (__mes_debug () && !stub)
|
||||||
|
eputs ("getgrid stub\n");
|
||||||
|
static char *groups[2] = {"root", 0 };
|
||||||
|
static struct group root = {"root", 0, groups};
|
||||||
|
stub = 1;
|
||||||
|
errno = 0;
|
||||||
|
return &root;
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
*
|
||||||
|
* This file is part of GNU Mes.
|
||||||
|
*
|
||||||
|
* GNU Mes is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* GNU Mes is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <libmes.h>
|
||||||
|
|
||||||
|
void
|
||||||
|
setgrent (void)
|
||||||
|
{
|
||||||
|
static int stub = 0;
|
||||||
|
if (__mes_debug () && !stub)
|
||||||
|
eputs ("setgrent stub\n");
|
||||||
|
stub = 1;
|
||||||
|
errno = 0;
|
||||||
|
}
|
Loading…
Reference in New Issue