108f82591SGarrett Wollman /* 208f82591SGarrett Wollman * The contents of this file are in the public domain. 308f82591SGarrett Wollman * Written by Garrett A. Wollman, 2000-10-07. 408f82591SGarrett Wollman * 508f82591SGarrett Wollman */ 608f82591SGarrett Wollman 708f82591SGarrett Wollman #include <sys/mman.h> 8*49d39308SKonstantin Belousov #include <errno.h> 908f82591SGarrett Wollman 1008f82591SGarrett Wollman int posix_madvise(void * address,size_t size,int how)11662d85d6SBruce M Simpsonposix_madvise(void *address, size_t size, int how) 1208f82591SGarrett Wollman { 13*49d39308SKonstantin Belousov int ret, saved_errno; 14*49d39308SKonstantin Belousov 15*49d39308SKonstantin Belousov saved_errno = errno; 16*49d39308SKonstantin Belousov if (madvise(address, size, how) == -1) { 17*49d39308SKonstantin Belousov ret = errno; 18*49d39308SKonstantin Belousov errno = saved_errno; 19*49d39308SKonstantin Belousov } else { 20*49d39308SKonstantin Belousov ret = 0; 21*49d39308SKonstantin Belousov } 22*49d39308SKonstantin Belousov return (ret); 2308f82591SGarrett Wollman } 24