chiark / gitweb /
core: always create /dev/kdbus/ns (and make it private 0700) after setting up the...
[elogind.git] / src / systemd / sd-shutdown.h
index 29fcf3417e3603e149ba2d373301ac24293f9bc1..1d65549882cfe743848cef0b13e3e2b5bc0fa7ef 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
 ***/
 
 
 #include <inttypes.h>
 
+#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