1 /* 2 * Copyright 2004-2023 the Pacemaker project contributors 3 * 4 * The version control history for this file may have further details. 5 * 6 * This source code is licensed under the GNU Lesser General Public License 7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY. 8 */ 9 10 #ifndef PCMK__CRM_COMMON_TICKETS__H 11 # define PCMK__CRM_COMMON_TICKETS__H 12 13 #include <sys/types.h> // time_t 14 #include <glib.h> // gboolean, GHashTable 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 /*! 21 * \file 22 * \brief Scheduler API for tickets 23 * \ingroup core 24 */ 25 26 //! Ticket constraint object 27 typedef struct pe_ticket_s { 28 char *id; //!< XML ID of ticket constraint or state 29 gboolean granted; //!< Whether cluster has been granted the ticket 30 time_t last_granted; //!< When cluster was last granted the ticket 31 gboolean standby; //!< Whether ticket is temporarily suspended 32 GHashTable *state; //!< XML attributes from ticket state 33 } pcmk_ticket_t; 34 35 #ifdef __cplusplus 36 } 37 #endif 38 39 #endif // PCMK__CRM_COMMON_TICKETS__H