aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/libbb.h b/include/libbb.h
index b68f9b684..ff4a67481 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1261,6 +1261,19 @@ void die_if_bad_username(const char* name) FAST_FUNC;
1261 * Dies on errors (on Linux, only xrealloc can cause this, not internal getgroups call). 1261 * Dies on errors (on Linux, only xrealloc can cause this, not internal getgroups call).
1262 */ 1262 */
1263gid_t *bb_getgroups(int *ngroups, gid_t *group_array) FAST_FUNC; 1263gid_t *bb_getgroups(int *ngroups, gid_t *group_array) FAST_FUNC;
1264/*
1265 * True if GID is in our getgroups() result.
1266 * getgroups() is cached in supplementary_array[], to make successive calls faster.
1267 */
1268struct cached_groupinfo {
1269 uid_t euid;
1270 gid_t egid;
1271 int ngroups;
1272 gid_t *supplementary_array;
1273};
1274uid_t FAST_FUNC get_cached_euid(uid_t *euid);
1275gid_t FAST_FUNC get_cached_egid(gid_t *egid);
1276int FAST_FUNC is_in_supplementary_groups(struct cached_groupinfo *groupinfo, gid_t gid);
1264 1277
1265#if ENABLE_FEATURE_UTMP 1278#if ENABLE_FEATURE_UTMP
1266void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, const char *username, const char *hostname); 1279void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, const char *username, const char *hostname);
@@ -1612,6 +1625,7 @@ int test_main(int argc, char **argv)
1612 MAIN_EXTERNALLY_VISIBLE 1625 MAIN_EXTERNALLY_VISIBLE
1613#endif 1626#endif
1614; 1627;
1628int FAST_FUNC test_main2(struct cached_groupinfo *pgroupinfo, int argc, char **argv);
1615int kill_main(int argc, char **argv) 1629int kill_main(int argc, char **argv)
1616#if ENABLE_KILL || ENABLE_KILLALL || ENABLE_KILLALL5 1630#if ENABLE_KILL || ENABLE_KILLALL || ENABLE_KILLALL5
1617 MAIN_EXTERNALLY_VISIBLE 1631 MAIN_EXTERNALLY_VISIBLE