global reindent, now with uncrustify hook enabled
[oweals/gnunet.git] / src / arm / arm.h
index 4d8743ed0d88655ab4e96ad84c28391e2a59d788..15f24b3f604d545a95784a99f2da2cc21f48ef95 100644 (file)
@@ -1,22 +1,22 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2009 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2009 GNUnet e.V.
 
-     GNUnet 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 3, or (at your
-     option) any later version.
+     GNUnet is free software: you can redistribute it and/or modify it
+     under the terms of the GNU Affero General Public License as published
+     by the Free Software Foundation, either version 3 of the License,
+     or (at your option) any later version.
 
      GNUnet 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.
+     Affero General Public License for more details.
 
-     You should have received a copy of the GNU General Public License
-     along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
+     You should have received a copy of the GNU Affero General Public License
+     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+     SPDX-License-Identifier: AGPL3.0-or-later
+ */
 
 /**
  * @author Christian Grothoff
@@ -40,9 +40,8 @@ GNUNET_NETWORK_STRUCT_BEGIN
  */
 struct GNUNET_ARM_StatusMessage
 {
-
   /**
-   * Reply to client, of type is GNUNET_MESSAGE_TYPE_ARM_STATUS.
+   * Reply to client, of type is #GNUNET_MESSAGE_TYPE_ARM_STATUS.
    */
   struct GNUNET_MessageHeader header;
 
@@ -86,7 +85,6 @@ struct GNUNET_ARM_Message
  */
 struct GNUNET_ARM_ResultMessage
 {
-
   /**
    * Reply to client, of type is #GNUNET_MESSAGE_TYPE_ARM_RESULT, with an ID.
    */
@@ -98,9 +96,48 @@ struct GNUNET_ARM_ResultMessage
   uint32_t result;
 };
 
+struct GNUNET_ARM_ServiceInfoMessage
+{
+  /**
+   * String pool index for the service's name.
+   */
+  uint16_t name_index;
+
+  /**
+   * String pool index for the service's binary.
+   */
+  uint16_t binary_index;
+
+  /**
+   * Last process exit status.
+   */
+  int16_t last_exit_status;
+
+  /**
+   * Padding.
+   */
+  uint16_t padding;
+
+  /**
+   * Status from the 'enum GNUNET_ARM_ServiceStatus'
+   */
+  uint32_t status;
+
+  /**
+   * Time when the sevice will be restarted, if applicable
+   * to the current status.
+   */
+  struct GNUNET_TIME_AbsoluteNBO restart_at;
+
+  /**
+   * Time when the sevice was first started, if applicable.
+   */
+  struct GNUNET_TIME_AbsoluteNBO last_started_at;
+};
+
 /**
  * Reply from ARM to client for the
- * GNUNET_MESSAGE_TYPE_ARM_LIST request followed by count
+ * #GNUNET_MESSAGE_TYPE_ARM_LIST request followed by count
  * '\0' terminated strings. header->size contains the
  * total size (including all strings).
  */
@@ -113,10 +150,13 @@ struct GNUNET_ARM_ListResultMessage
   struct GNUNET_ARM_Message arm_msg;
 
   /**
-   * Number of '\0' terminated strings that follow
-   * this message.
+   * Number of 'struct GNUNET_ARM_ServiceInfoMessage' that
+   * are at the end of this message.
    */
   uint16_t count;
+
+  /* struct GNUNET_ARM_ServiceInfoMessage[count]; */
+  /* pool of 0-terminated strings */
 };
 
 GNUNET_NETWORK_STRUCT_END