UIDINFO(9)

NAME
uidinfo, uihashinit, uifind, uihold, uifree - functions for managing UID information

SYNOPSIS
#include <sys/param.h>
#include <sys/proc.h>
#include <sys/resourcevar.h>
void
uihashinit(void);
struct uidinfo *
uifind(uid_t uid);
void
uihold(struct uidinfo *uip);
void
uifree(struct uidinfo *uip);

DESCRIPTION
The uidinfo family of functions is used to manage uidinfo structures. Each uidinfo structure maintains per uid resource consumption counts, including the process count and socket buffer space usage.

The uihashinit() function initializes the uidinfo hash table and its mutex. This function should only be called during system initialization.

The uifind() function looks up and returns the uidinfo structure for uid. If no uidinfo structure exists for uid, a new structure will be allocated and initialized. The uidinfo hash mutex is acquired and released.

The uihold() function increases the reference count on uip. uip's lock is acquired and released.

The uifree() function decreases the reference count on uip, and if the count reaches 0 uip is freed. uip's lock is acquired and release and the uidinfo hash mutex may be acquired and released.

RETURN VALUES
uifind() returns a pointer to an initialized uidinfo structure, and should not fail.

AUTHORS
This manual page was written by Chad David <davidc@acns.ab.ca>.