#ifndef _BITS_ERROR_H #define _BITS_ERROR_H #include #define _RETURN_WITH_ERRNO(rc, type) \ do { \ if (rc < 0) \ { \ errno = (int)(-rc); \ return -1; \ } \ errno = 0; \ return (type)rc; \ } while (0) #define _RETURN_WITH_MEMORY_ERRNO(rc, type) \ do { \ if ((unsigned long int)rc > 0xffffffffffffff00) \ { \ errno = (int)((rc)&0xff); \ return (type)-1; \ } \ errno = 0; \ return (type)rc; \ } while (0) #endif