Source code pulled from OpenBSD for OpenNTPD. The place to contribute to this code is via the OpenBSD CVS tree.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
3.3 KiB

  1. .\" Copyright (c) 1980, 1991 Regents of the University of California.
  2. .\" All rights reserved.
  3. .\"
  4. .\" This code is derived from software contributed to Berkeley by
  5. .\" the American National Standards Committee X3, on Information
  6. .\" Processing Systems.
  7. .\"
  8. .\" Redistribution and use in source and binary forms, with or without
  9. .\" modification, are permitted provided that the following conditions
  10. .\" are met:
  11. .\" 1. Redistributions of source code must retain the above copyright
  12. .\" notice, this list of conditions and the following disclaimer.
  13. .\" 2. Redistributions in binary form must reproduce the above copyright
  14. .\" notice, this list of conditions and the following disclaimer in the
  15. .\" documentation and/or other materials provided with the distribution.
  16. .\" 3. All advertising materials mentioning features or use of this software
  17. .\" must display the following acknowledgement:
  18. .\" This product includes software developed by the University of
  19. .\" California, Berkeley and its contributors.
  20. .\" 4. Neither the name of the University nor the names of its contributors
  21. .\" may be used to endorse or promote products derived from this software
  22. .\" without specific prior written permission.
  23. .\"
  24. .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  25. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  26. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  27. .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  28. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  29. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  30. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  31. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  32. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  33. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  34. .\" SUCH DAMAGE.
  35. .\"
  36. .\" from: @(#)malloc.3 6.7 (Berkeley) 6/29/91
  37. .\" $Id: malloc.3,v 1.1.1.1 1995/10/18 08:42:18 deraadt Exp $
  38. .\"
  39. .Dd June 29, 1991
  40. .Dt MALLOC 3
  41. .Os BSD 4
  42. .Sh NAME
  43. .Nm malloc
  44. .Nd general memory allocation function
  45. .Sh SYNOPSIS
  46. .Fd #include <stdlib.h>
  47. .Ft void *
  48. .Fn malloc "size_t size"
  49. .Sh DESCRIPTION
  50. The
  51. .Fn malloc
  52. function allocates uninitialized space for an object whose
  53. size is specified by
  54. .Fa size .
  55. The
  56. .Fn malloc
  57. function maintains multiple lists of free blocks according to size, allocating
  58. space from the appropriate list.
  59. .Pp
  60. The allocated space is
  61. suitably aligned (after possible pointer
  62. coercion) for storage of any type of object. If the space is of
  63. .Em pagesize
  64. or larger, the memory returned will be page-aligned.
  65. .Sh RETURN VALUES
  66. The
  67. .Fn malloc
  68. function returns
  69. a pointer to the allocated space if successful; otherwise
  70. a null pointer is returned.
  71. .Sh SEE ALSO
  72. .Xr brk 2 ,
  73. .Xr getpagesize 2 ,
  74. .Xr free 3 ,
  75. .Xr calloc 3 ,
  76. .Xr alloca 3 ,
  77. .Xr realloc 3 ,
  78. .Xr memory 3
  79. .Sh STANDARDS
  80. The
  81. .Fn malloc
  82. function conforms to
  83. .St -ansiC .
  84. .Sh BUGS
  85. The current implementation of
  86. .Xr malloc
  87. does not always fail gracefully when system
  88. memory limits are approached.
  89. It may fail to allocate memory when larger free blocks could be broken
  90. up, or when limits are exceeded because the size is rounded up.
  91. It is optimized for sizes that are powers of two.