X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsystemd%2Fsd-shutdown.h;h=1d65549882cfe743848cef0b13e3e2b5bc0fa7ef;hb=7ae4ef6d23bc884d0e0ee2ec9cf87ec99d0686bb;hp=29fcf3417e3603e149ba2d373301ac24293f9bc1;hpb=04ebb5956719e3e301e1c08443c496ad97399544;p=elogind.git diff --git a/src/systemd/sd-shutdown.h b/src/systemd/sd-shutdown.h index 29fcf3417..1d6554988 100644 --- a/src/systemd/sd-shutdown.h +++ b/src/systemd/sd-shutdown.h @@ -9,16 +9,16 @@ 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 + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . ***/ @@ -26,6 +26,14 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _sd_packed_ +# define _sd_packed_ __attribute__((packed)) +#endif + typedef enum sd_shutdown_mode { SD_SHUTDOWN_NONE = 0, SD_SHUTDOWN_REBOOT = 'r', @@ -37,7 +45,7 @@ typedef enum sd_shutdown_mode { /* Calculate the size of the message as "offsetof(struct * sd_shutdown_command, wall_message) + * strlen(command.wall_message)" */ -__attribute__((packed)) struct sd_shutdown_command { +struct sd_shutdown_command { /* Microseconds after the epoch 1970 UTC */ uint64_t usec; @@ -55,7 +63,7 @@ __attribute__((packed)) struct sd_shutdown_command { /* The wall message to send around. Leave empty for the * default wall message */ char wall_message[]; -}; +} _sd_packed_; /* The scheme is very simple: * @@ -105,4 +113,8 @@ __attribute__((packed)) struct sd_shutdown_command { * anybody. */ +#ifdef __cplusplus +} +#endif + #endif