X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Fwrappers.h;h=a0b4e220eafd55a0f7bbe45473e9482ff968e7fd;hb=4fc0d7c31dd9fb6bae2e77ba37d8a08ab26dd65c;hp=2d17315d3b4c6c33a854523d6585a6ccfa116ef0;hpb=0b3a2a39fe3a0bcea39216d20afc168835b6eb4e;p=util-vserver.git diff --git a/util-vserver/src/wrappers.h b/util-vserver/src/wrappers.h index 2d17315..a0b4e22 100644 --- a/util-vserver/src/wrappers.h +++ b/util-vserver/src/wrappers.h @@ -34,6 +34,7 @@ #include #include #include +#include #define WRAPPER_DECL UNUSED ALWAYSINLINE @@ -228,6 +229,59 @@ Edup2(int oldfd, int newfd) return res; } +inline static WRAPPER_DECL void * +Emalloc(size_t size) +{ + register void *res = malloc(size); + FatalErrnoError(res==0 && size!=0, "malloc()"); + return res; +} + +/*@unused@*/ +inline static WRAPPER_DECL /*@null@*//*@only@*/ void * +Erealloc(/*@only@*//*@out@*//*@null@*/ void *ptr, + size_t new_size) + /*@ensures maxSet(result) == new_size@*/ + /*@modifies *ptr@*/ +{ + register void *res = realloc(ptr, new_size); + FatalErrnoError(res==0 && new_size!=0, "realloc()"); + + return res; +} + +inline static WRAPPER_DECL off_t +Elseek(int fildes, off_t offset, int whence) +{ + off_t res = lseek(fildes, offset, whence); + FatalErrnoError(res==(off_t)-1, "lseek()"); + return res; +} + +inline static WRAPPER_DECL int +Emkstemp(char *template) +{ + int res = mkstemp(template); + FatalErrnoError(res==-1, "mkstemp()"); + return res; +} + +inline static WRAPPER_DECL void +Eioctl(int fd, int request, void *p) +{ + int res = ioctl(fd, request, p); + FatalErrnoError(res<0, "ioctl()"); +} + +inline static WRAPPER_DECL pid_t +Esetsid() +{ + register pid_t const res = setsid(); + FatalErrnoError(res==-1, "setsid()"); + + return res; +} + #undef WRAPPER_DECL #endif // H_UTIL_VSERVER_SRC_WRAPPERS_H