ladybird/Userland/Libraries/LibC/grp.h

36 lines
956 B
C
Raw Normal View History

/*
* 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>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
2018-11-06 22:27:51 +01:00
#pragma once
#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;
};
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);
void setgrent(void);
void endgrent(void);
2022-04-01 20:58:27 +03:00
struct group* getgrnam(char const* name);
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);
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-06 22:27:51 +01:00
__END_DECLS