summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibC/grp.h
blob: 20df7747c7ab07feafa39ebfccc25c17e34d133d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
 * Copyright (c) 2021, Maxime Friess <M4x1me@pm.me>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#pragma once

#include <bits/FILE.h>
#include <sys/cdefs.h>
#include <sys/types.h>

__BEGIN_DECLS

struct group {
    char* gr_name;
    char* gr_passwd;
    gid_t gr_gid;
    char** gr_mem;
};

struct group* getgrent(void);
void setgrent(void);
void endgrent(void);
struct group* getgrnam(const char* name);
struct group* getgrgid(gid_t);
int putgrent(const struct group*, FILE*);

int initgroups(const char* user, gid_t);

__END_DECLS