2020-01-18 09:38:21 +01:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
2021-07-09 14:32:12 +02:00
|
|
|
* Copyright (c) 2021, Maxime Friess <M4x1me@pm.me>
|
2020-01-18 09:38:21 +01:00
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-01-18 09:38:21 +01:00
|
|
|
*/
|
|
|
|
|
|
2018-11-06 22:27:51 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2021-07-17 11:27:23 +02:00
|
|
|
#include <bits/FILE.h>
|
2018-11-06 22:27:51 +01:00
|
|
|
#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;
|
|
|
|
|
};
|
|
|
|
|
|
2022-01-08 15:32:59 +01:00
|
|
|
struct group* getgrent(void);
|
2022-11-14 13:41:31 -05:00
|
|
|
int getgrent_r(struct group* group_buf, char* buffer, size_t buffer_size, struct group** group_entry_ptr);
|
2022-01-08 15:32:59 +01:00
|
|
|
void setgrent(void);
|
|
|
|
|
void endgrent(void);
|
2022-04-01 20:58:27 +03:00
|
|
|
struct group* getgrnam(char const* name);
|
2023-12-24 16:26:11 +07:00
|
|
|
int getgrnam_r(char const* name, struct group* group_buf, char* buffer, size_t buffer_size, struct group** group_entry_ptr);
|
2018-11-06 22:27:51 +01:00
|
|
|
struct group* getgrgid(gid_t);
|
2023-12-24 16:26:11 +07:00
|
|
|
int getgrgid_r(gid_t gid, struct group* group_buf, char* buffer, size_t buffer_size, struct group** group_entry_ptr);
|
2021-07-09 14:32:12 +02:00
|
|
|
int putgrent(const struct group*, FILE*);
|
2018-11-06 22:27:51 +01:00
|
|
|
|
2022-04-01 20:58:27 +03:00
|
|
|
int initgroups(char const* user, gid_t);
|
2018-11-07 01:38:51 +01:00
|
|
|
|
2018-11-06 22:27:51 +01:00
|
|
|
__END_DECLS
|