/share/man/man9/uidinfo.9
https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 109 lines · 109 code · 0 blank · 0 comment · 0 complexity · d164ba2544e2bbcf44be2c6fafbb7378 MD5 · raw file
- .\"
- .\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms, with or without
- .\" modification, are permitted provided that the following conditions
- .\" are met:
- .\" 1. Redistributions of source code must retain the above copyright
- .\" notice(s), this list of conditions and the following disclaimer as
- .\" the first lines of this file unmodified other than the possible
- .\" addition of one or more copyright notices.
- .\" 2. Redistributions in binary form must reproduce the above copyright
- .\" notice(s), this list of conditions and the following disclaimer in the
- .\" documentation and/or other materials provided with the distribution.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
- .\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- .\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
- .\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- .\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- .\" DAMAGE.
- .\"
- .\" $FreeBSD$
- .\"
- .Dd July 10, 2001
- .Dt UIDINFO 9
- .Os
- .Sh NAME
- .Nm uidinfo ,
- .Nm uihashinit ,
- .Nm uifind ,
- .Nm uihold ,
- .Nm uifree
- .Nd "functions for managing UID information"
- .Sh SYNOPSIS
- .In sys/param.h
- .In sys/proc.h
- .In sys/resourcevar.h
- .Ft void
- .Fn uihashinit void
- .Ft "struct uidinfo *"
- .Fn uifind "uid_t uid"
- .Ft void
- .Fn uihold "struct uidinfo *uip"
- .Ft void
- .Fn uifree "struct uidinfo *uip"
- .Sh DESCRIPTION
- The
- .Nm
- family of functions
- is used to manage
- .Vt uidinfo
- structures.
- Each
- .Vt uidinfo
- structure maintains per uid resource consumption counts, including the
- process count and socket buffer space usage.
- .Pp
- The
- .Fn uihashinit
- function initializes the
- .Vt uidinfo
- hash table and its mutex.
- This function should only be called during system initialization.
- .Pp
- The
- .Fn uifind
- function looks up and returns the
- .Vt uidinfo
- structure for
- .Fa uid .
- If no
- .Vt uidinfo
- structure exists for
- .Fa uid ,
- a new structure will be allocated and initialized.
- The
- .Nm
- hash mutex is acquired and released.
- .Pp
- The
- .Fn uihold
- function increases the reference count on
- .Fa uip .
- .Fa uip Ns 's
- lock is acquired and released.
- .Pp
- The
- .Fn uifree
- function decreases the reference count on
- .Fa uip ,
- and if the count reaches 0
- .Fa uip
- is freed.
- .Fa uip Ns 's
- lock is acquired and release and the uidinfo hash mutex may be
- acquired and released.
- .Sh RETURN VALUES
- .Fn uifind
- returns a pointer to an initialized
- .Vt uidinfo
- structure, and should not fail.
- .Sh AUTHORS
- This manual page was written by
- .An Chad David Aq davidc@acns.ab.ca .