The documented prototype for mlock2() was a mix of the glibc wrapper prototype and the kernel syscall prototype. Let's document the glibc wrapper prototype, which is shown below. ...... .../glibc$ grep_glibc_prototype mlock2 sysdeps/unix/sysv/linux/bits/mman-shared.h:55: int mlock2 (const void *__addr, size_t __length, unsigned int __flags) __THROW; .../glibc$ function grep_glibc_prototype() { if ! [ -v 1 ]; then >&2 echo "Usage: ${FUNCNAME[0]} <func>"; return ${EX_USAGE}; fi find * -type f \ |grep '\.h$' \ |sort -V \ |xargs pcregrep -Mn \ "(?s)^[^\s#][\w\s]+\s+\**${1}\s*\([\w\s()[\]*,]*?(...)?\)[\w\s()]*;" \ |sed -E 's/^[^:]+:[0-9]+:/&\n/'; } Signed-off-by: Alejandro Colomar <alx.manpages@xxxxxxxxx> --- man2/mlock.2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man2/mlock.2 b/man2/mlock.2 index 2822df7cf..f48d632c4 100644 --- a/man2/mlock.2 +++ b/man2/mlock.2 @@ -31,7 +31,7 @@ mlock, mlock2, munlock, mlockall, munlockall \- lock and unlock memory .B #include <sys/mman.h> .PP .BI "int mlock(const void *" addr ", size_t " len ); -.BI "int mlock2(const void *" addr ", size_t " len ", int " flags ); +.BI "int mlock2(const void *" addr ", size_t " len ", unsigned int " flags ); .BI "int munlock(const void *" addr ", size_t " len ); .PP .BI "int mlockall(int " flags ); -- 2.30.0