1mapmalloc(3MALLOC)    Memory Allocation Library Functions   mapmalloc(3MALLOC)
2
3
4

NAME

6       mapmalloc - memory allocator
7

SYNOPSIS

9       cc [ flag ... ] file ... -lmapmalloc [ library ... ]
10       #include <stdlib.h>
11
12       void *malloc(size_t size);
13
14
15       void *calloc(size_t nelem, size_t elsize);
16
17
18       void free(void * ptr);
19
20
21       void *realloc(void *ptr, size_t size);
22
23

DESCRIPTION

25       The collection of malloc functions in this library use  mmap(2) instead
26       of sbrk(2) for acquiring new heap space.  The functions in this library
27       are  intended to be used only if necessary, when applications must call
28       sbrk(), but need to call other library routines that might call malloc.
29       The algorithms used by these functions are not sophisticated.  There is
30       no reclaiming of memory.
31
32
33       The malloc() and free() functions provide a simple general-purpose mem‐
34       ory allocation package.
35
36
37       The  malloc()  function  returns  a pointer to a block of at least size
38       bytes suitably aligned for any use.
39
40
41       The argument to free() is a pointer to a block previously allocated  by
42       malloc(),  calloc()  or realloc(). If  ptr is a NULL pointer, no action
43       occurs.
44
45
46       Undefined results will occur if the space assigned by malloc() is over‐
47       run or if some random number is handed to free().
48
49
50       The calloc() function allocates space for an array of nelem elements of
51       size elsize. The space is initialized to zeros.
52
53
54       The realloc() function changes the size of the block pointed to by  ptr
55       to  size bytes and returns a pointer to the (possibly moved) block. The
56       contents will be unchanged up to the lesser of the new and  old  sizes.
57       If  the new size of the block requires movement of the block, the space
58       for the previous instantiation of the block is freed. If the  new  size
59       is larger, the contents of the newly allocated portion of the block are
60       unspecified. If ptr is NULL, realloc() behaves like  malloc()  for  the
61       specified  size.  If size is 0 and ptr is not a null pointer, the space
62       pointed to is freed.
63
64
65       Each of the allocation functions returns a pointer  to  space  suitably
66       aligned  (after  possible  pointer coercion) for storage of any type of
67       object.
68
69
70       The malloc() and realloc() functions will fail if there is  not  enough
71       available memory.
72
73
74       Entry  points  for  malloc_debug(), mallocmap(), mallopt(), mallinfo(),
75       memalign(), and valloc() are empty routines, and are provided  only  to
76       protect  the  user from mixing malloc() functions from different imple‐
77       mentations.
78

RETURN VALUES

80       If there is no available  memory,  malloc(),  realloc(),  and  calloc()
81       return  a  null pointer. When realloc() returns NULL, the block pointed
82       to by ptr is left intact. If size, nelem, or  elsize  is  0,  a  unique
83       pointer to the arena is returned.
84

ATTRIBUTES

86       See attributes(5) for descriptions of the following attributes:
87
88
89
90
91       ┌─────────────────────────────┬─────────────────────────────┐
92       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
93       ├─────────────────────────────┼─────────────────────────────┤
94       │MT-Level                     │Safe                         │
95       └─────────────────────────────┴─────────────────────────────┘
96

SEE ALSO

98       brk(2),    getrlimit(2),    mmap(2),    realloc(3C),   malloc(3MALLOC),
99       attributes(5)
100
101
102
103SunOS 5.11                        20 Feb 2004               mapmalloc(3MALLOC)
Impressum