X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=utils%2Faligned_malloc.h;fp=utils%2Faligned_malloc.h;h=819a46cd0af92090a9c5d1726a3ee705a101bd20;hp=0000000000000000000000000000000000000000;hb=8afc01a67be4fbf3f1cc0fce9adf01b5289a21c6;hpb=3f1091236d800c43a3124c44c7da54e53f205b13 diff --git a/utils/aligned_malloc.h b/utils/aligned_malloc.h new file mode 100644 index 00000000..819a46cd --- /dev/null +++ b/utils/aligned_malloc.h @@ -0,0 +1,39 @@ +/* -*- mode: c; tab-width: 4; fill-column: 128 -*- */ +/* vi: set ts=4 tw=128: */ + +/* +aligned_malloc.h, Copyright (c) 2014 Dave Odell + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. No representations are made about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. +*/ + +#ifndef __ALIGNED_MALLOC_H__ +#define __ALIGNED_MALLOC_H__ + +#include + +#if HAVE_UNISTD_H +# include +#endif + +#if _POSIX_VERSION >= 200112L || _XOPEN_VERSION >= 600 + +# define aligned_malloc posix_memalign +# define aligned_free free + +#else /* old POSIX */ + + /* This can't simply be named posix_memalign, since the real thing uses + free(), but this one can't. */ + int aligned_malloc(void **ptr, unsigned alignment, size_t size); + void aligned_free(void *); + +#endif /* old POSIX */ + +#endif /* __ALIGNED_MALLOC_H__ */