/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
  52. The
  53. .Nm
  54. family of functions
  55. is used to manage
  56. .Vt uidinfo
  57. structures.
  58. Each
  59. .Vt uidinfo
  60. structure maintains per uid resource consumption counts, including the
  61. process count and socket buffer space usage.
  62. .Pp
  63. The
  64. .Fn uihashinit
  65. function initializes the
  66. .Vt uidinfo
  67. hash table and its mutex.
  68. This function should only be called during system initialization.
  69. .Pp
  70. The
  71. .Fn uifind
  72. function looks up and returns the
  73. .Vt uidinfo
  74. structure for
  75. .Fa uid .
  76. If no
  77. .Vt uidinfo
  78. structure exists for
  79. .Fa uid ,
  80. a new structure will be allocated and initialized.
  81. The
  82. .Nm
  83. hash mutex is acquired and released.
  84. .Pp
  85. The
  86. .Fn uihold
  87. function increases the reference count on
  88. .Fa uip .
  89. .Fa uip Ns 's
  90. lock is acquired and released.
  91. .Pp
  92. The
  93. .Fn uifree
  94. function decreases the reference count on
  95. .Fa uip ,
  96. and if the count reaches 0
  97. .Fa uip
  98. is freed.
  99. .Fa uip Ns 's
  100. lock is acquired and release and the uidinfo hash mutex may be
  101. acquired and released.
  102. .Sh RETURN VALUES
  103. .Fn uifind
  104. returns a pointer to an initialized
  105. .Vt uidinfo
  106. structure, and should not fail.
  107. .Sh AUTHORS
  108. This manual page was written by
  109. .An Chad David Aq davidc@acns.ab.ca .