Home | History | Annotate | Download | only in src
      1 #include <errno.h>
      2 #include <malloc.h>
      3 #include <stdlib.h>
      4 
      5 int posix_memalign(void** memptr, size_t alignment, size_t size) {
      6   if ((alignment & (alignment - 1)) != 0 || alignment == 0) {
      7     return EINVAL;
      8   }
      9 
     10   if (alignment % sizeof(void*) != 0) {
     11     return EINVAL;
     12   }
     13 
     14   *memptr = memalign(alignment, size);
     15   if (*memptr == NULL) {
     16     return errno;
     17   }
     18 
     19   return 0;
     20 }
     21