File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / hping2 / memlock.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:11:37 2012 UTC (12 years, 2 months ago) by misho
Branches: hping2, MAIN
CVS tags: v2_0_0rc3p7, v2_0_0rc3p5, v2_0_0rc3p4, v2_0_0rc3p0, v2_0_0rc3, HEAD
hping2

/*
 * $smu-mark$
 * $name: memlock.c$
 * $other_author: Alfonso De Gregorio <dira@speedcom.it>
 * $other_copyright: Copyright (C) 1999 by Alfonso De Gregorio
 * $license: This software is under GPL version 2 of license$
 * $date: Fri Nov  5 11:55:48 MET 1999$
 * $rev: 2$
 */

#include <unistd.h>
#include <sys/mman.h>

int memlock(char *addr, size_t size)
{
#ifdef _POSIX_MEMLOCK_RANGE
	unsigned long    page_offset, page_size;

	page_size = sysconf(_SC_PAGESIZE);	/* also <limits.h> ..  */
	page_offset = (unsigned long) addr % page_size;

	addr -= page_offset;
	size += page_offset;

	return ( mlock(addr, size) ); 
#endif
	return (-1);
}


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>