X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=macro.h;h=2eaa3d6fbbdadbf5075a99d825423a815ff08e6a;hp=ed09750f73a9bd359bb1890bc26627e7abf23b6e;hb=2fa086a8e02b1b2d62a9a424b41944f3a2251e60;hpb=476fe607ecbabc5beffafc8efb0778e3d9e1030a diff --git a/macro.h b/macro.h index ed09750f7..2eaa3d6fb 100644 --- a/macro.h +++ b/macro.h @@ -3,19 +3,38 @@ #ifndef foomacrohfoo #define foomacrohfoo +/*** + This file is part of systemd. + + Copyright 2010 Lennart Poettering + + systemd is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + systemd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with systemd; If not, see . +***/ + #include #include -#define __printf_attr(a,b) __attribute__ ((format (printf, a, b))) -#define __sentinel __attribute__ ((sentinel)) -#define __noreturn __attribute__((noreturn)) -#define __unused __attribute__ ((unused)) -#define __destructor __attribute__ ((destructor)) -#define __pure __attribute__ ((pure)) -#define __const __attribute__ ((const)) -#define __deprecated __attribute__ ((deprecated)) -#define __packed __attribute__ ((packed)) -#define __malloc __attribute__ ((malloc)) +#define _printf_attr(a,b) __attribute__ ((format (printf, a, b))) +#define _sentinel __attribute__ ((sentinel)) +#define _noreturn __attribute__((noreturn)) +#define _unused __attribute__ ((unused)) +#define _destructor __attribute__ ((destructor)) +#define _pure __attribute__ ((pure)) +#define _const __attribute__ ((const)) +#define _deprecated __attribute__ ((deprecated)) +#define _packed __attribute__ ((packed)) +#define _malloc __attribute__ ((malloc)) /* Rounds up */ static inline size_t ALIGN(size_t l) { @@ -76,4 +95,12 @@ static inline size_t ALIGN(size_t l) { #define memzero(x,l) (memset((x), 0, (l))) #define zero(x) (memzero(&(x), sizeof(x))) +#define char_array_0(x) x[sizeof(x)-1] = 0; + +#define IOVEC_SET_STRING(iovec, s) \ + do { \ + (iovec).iov_base = s; \ + (iovec).iov_len = strlen(s); \ + } while(false); + #endif