Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
ALIGNED_ALLOC(3)       FreeBSD Library Functions Manual	      ALIGNED_ALLOC(3)

NAME
     aligned_alloc, posix_memalign -- aligned memory allocation

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <stdlib.h>

     void *
     aligned_alloc(size_t alignment, size_t size);

     int
     posix_memalign(void **ptr,	size_t alignment, size_t size);

DESCRIPTION
     The aligned_alloc() and posix_memalign() functions	allocate size bytes of
     memory such that the allocation's base address is an even multiple	of
     alignment.	 The aligned_alloc() function returns the allocation, while
     the posix_memalign() function stores the allocation in the	value pointed
     to	by ptr.

     The requested alignment must be a power of	2 at least as large as
     sizeof(void *).

     Memory that is allocated via aligned_alloc() and posix_memalign() can be
     used as an	argument in subsequent calls to	realloc(3), reallocf(3), and
     free(3).

RETURN VALUES
     The aligned_alloc() function returns a pointer to the allocation if suc-
     cessful; otherwise	a NULL pointer is returned and errno is	set to an
     error value.

     The posix_memalign() function returns the value 0 if successful; other-
     wise it returns an	error value.

ERRORS
     The aligned_alloc() and posix_memalign() functions	will fail if:

     [EINVAL]		The alignment parameter	is not a power of 2 at least
			as large as sizeof(void	*).

     [ENOMEM]		Memory allocation error.

SEE ALSO
     free(3), malloc(3), realloc(3), reallocf(3), valloc(3)

STANDARDS
     The aligned_alloc() function conforms to ISO/IEC 9899:2011	(``ISO C11'').

     The posix_memalign() function conforms to IEEE Std	1003.1-2001
     (``POSIX.1'').

HISTORY
     The posix_memalign() function first appeared in FreeBSD 7.0.

     The aligned_alloc() function first	appeared in FreeBSD 10.0.

FreeBSD	10.1			January	7, 2011			  FreeBSD 10.1

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=posix_memalign&sektion=3&manpath=FreeBSD+9.2-RELEASE>

home | help