PageRenderTime 18ms CodeModel.GetById 10ms app.highlight 2ms RepoModel.GetById 2ms app.codeStats 0ms

/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
  1.\"
  2.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
  3.\"
  4.\" Redistribution and use in source and binary forms, with or without
  5.\" modification, are permitted provided that the following conditions
  6.\" are met:
  7.\" 1. Redistributions of source code must retain the above copyright
  8.\"    notice(s), this list of conditions and the following disclaimer as
  9.\"    the first lines of this file unmodified other than the possible
 10.\"    addition of one or more copyright notices.
 11.\" 2. Redistributions in binary form must reproduce the above copyright
 12.\"    notice(s), this list of conditions and the following disclaimer in the
 13.\"    documentation and/or other materials provided with the distribution.
 14.\"
 15.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
 16.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 17.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 18.\" DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
 19.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 20.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 21.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 22.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 25.\" DAMAGE.
 26.\"
 27.\" $FreeBSD$
 28.\"
 29.Dd July 10, 2001
 30.Dt UIDINFO 9
 31.Os
 32.Sh NAME
 33.Nm uidinfo ,
 34.Nm uihashinit ,
 35.Nm uifind ,
 36.Nm uihold ,
 37.Nm uifree
 38.Nd "functions for managing UID information"
 39.Sh SYNOPSIS
 40.In sys/param.h
 41.In sys/proc.h
 42.In sys/resourcevar.h
 43.Ft void
 44.Fn uihashinit void
 45.Ft "struct uidinfo *"
 46.Fn uifind "uid_t uid"
 47.Ft void
 48.Fn uihold "struct uidinfo *uip"
 49.Ft void
 50.Fn uifree "struct uidinfo *uip"
 51.Sh DESCRIPTION
 52The
 53.Nm
 54family of functions
 55is used to manage
 56.Vt uidinfo
 57structures.
 58Each
 59.Vt uidinfo
 60structure maintains per uid resource consumption counts, including the
 61process count and socket buffer space usage.
 62.Pp
 63The
 64.Fn uihashinit
 65function initializes the
 66.Vt uidinfo
 67hash table and its mutex.
 68This function should only be called during system initialization.
 69.Pp
 70The
 71.Fn uifind
 72function looks up and returns the
 73.Vt uidinfo
 74structure for
 75.Fa uid .
 76If no
 77.Vt uidinfo
 78structure exists for
 79.Fa uid ,
 80a new structure will be allocated and initialized.
 81The
 82.Nm
 83hash mutex is acquired and released.
 84.Pp
 85The
 86.Fn uihold
 87function increases the reference count on
 88.Fa uip .
 89.Fa uip Ns 's
 90lock is acquired and released.
 91.Pp
 92The
 93.Fn uifree
 94function decreases the reference count on
 95.Fa uip ,
 96and if the count reaches 0
 97.Fa uip
 98is freed.
 99.Fa uip Ns 's
100lock is acquired and release and the uidinfo hash mutex may be
101acquired and released.
102.Sh RETURN VALUES
103.Fn uifind
104returns a pointer to an initialized
105.Vt uidinfo
106structure, and should not fail.
107.Sh AUTHORS
108This manual page was written by
109.An Chad David Aq davidc@acns.ab.ca .