'\" t .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH valloc 3 2025-12-13 "Linux man-pages 6.19" .SH NAME valloc \- page-aligned memory allocation .SH LIBRARY Standard C library .RI ( libc ,\~ \-lc ) .SH SYNOPSIS .nf .B #include .P .BI "[[deprecated]] void *valloc(size_t " size ); .fi .P .RS -4 Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .RE .P .BR valloc (): .nf Since glibc 2.12: (_XOPEN_SOURCE >= 500) && !(_POSIX_C_SOURCE >= 200112L) || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500 .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED .fi .SH DESCRIPTION .BR valloc () allocates .I size bytes and returns a pointer to the allocated memory. The memory address will be a multiple of the page size. .P It is equivalent to .IR "memalign(sysconf(_SC_PAGESIZE),size)" . .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR valloc () T} Thread safety MT-Unsafe init .TE .SH VERSIONS According to SUSv2, .BR valloc () is declared in .IR . .\" Libc4,5 and glibc declares it in .IR , and also in .I if suitable feature test macros are defined (see above). .SH STANDARDS BSD, GNU. .SH HISTORY glibc 2.0. 3.0BSD. Documented as obsolete in 4.3BSD, and as legacy in SUSv2. .\" .SH CAVEATS See .BR memalign (3). .\" Other systems allow passing the result of .\" .IR valloc () .\" to .\" .IR free (3), .\" but not to .\" .IR realloc (3). .SH SEE ALSO .BR memalign (3)