diff --git a/include/crm/common/ipc.h b/include/crm/common/ipc.h index 1d16021c84..c10ef2fdd6 100644 --- a/include/crm/common/ipc.h +++ b/include/crm/common/ipc.h @@ -1,55 +1,55 @@ -/* $Id: ipc.h,v 1.1 2004/06/02 11:40:50 andrew Exp $ */ +/* $Id: ipc.h,v 1.2 2004/06/07 10:20:41 andrew Exp $ */ /* * Copyright (C) 2004 Andrew Beekhof * * This program 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.1 of the License, or (at your option) any later version. * * This software 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 this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef CRM_COMMON_IPC__H #define CRM_COMMON_IPC__H #include #include -#include -#include +#include +#include typedef struct _crmd_client { char *sub_sys; char *uuid; char *table_key; IPC_Channel *client_channel; GCHSource *client_source; } crmd_client_t; extern gboolean send_ipc_message(IPC_Channel *ipc_client, IPC_Message *msg); extern void default_ipc_input_destroy(gpointer user_data); extern xmlNodePtr find_xml_in_ipcmessage(IPC_Message *msg, gboolean do_free); extern gboolean send_xmlipc_message(IPC_Channel *ipc_client, xmlNodePtr msg); extern IPC_Channel *init_client_ipc_comms( const char *child, gboolean (*dispatch)(IPC_Channel* source_data, gpointer user_data), crmd_client_t *user_data); extern gboolean subsystem_input_dispatch(IPC_Channel *sender, void *user_data); #endif diff --git a/include/crm/common/msg.h b/include/crm/common/msg.h index e397ab4ba9..ec01c09aa2 100644 --- a/include/crm/common/msg.h +++ b/include/crm/common/msg.h @@ -1,67 +1,67 @@ -/* $Id: msg.h,v 1.1 2004/06/02 11:40:50 andrew Exp $ */ +/* $Id: msg.h,v 1.2 2004/06/07 10:20:41 andrew Exp $ */ /* * Copyright (C) 2004 Andrew Beekhof * * This program 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.1 of the License, or (at your option) any later version. * * This software 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 this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef CRM_COMMON_MSG__H #define CRM_COMMON_MSG__H -#include -#include +#include +#include #include extern xmlNodePtr validate_crm_message(xmlNodePtr root, const char *sys, const char *uuid, const char *msg_type); extern xmlNodePtr createPingAnswerFragment(const char *from, const char *status); extern xmlNodePtr createPingRequest(const char *crm_msg_reference, const char *to); extern void send_hello_message(IPC_Channel *ipc_client, const char *uuid, const char *client_name, const char *major_version, const char *minor_version); extern gboolean process_hello_message(xmlNodePtr hello, char **uuid, char **client_name, char **major_version, char **minor_version); extern gboolean send_ipc_request(IPC_Channel *ipc_channel, xmlNodePtr xml_options, xmlNodePtr xml_data, const char *host_to, const char *sys_to, const char *sys_from, const char *uuid_from, const char *crm_msg_reference); extern gboolean send_ipc_reply(IPC_Channel *ipc_channel, xmlNodePtr xml_request, xmlNodePtr xml_response_data); extern xmlNodePtr create_reply(xmlNodePtr xml_request, xmlNodePtr xml_response_data); extern xmlNodePtr create_request(xmlNodePtr xml_options, xmlNodePtr xml_data, const char *host_to, const char *sys_to, const char *sys_from, const char *uuid_from, const char *crm_msg_reference); #endif diff --git a/include/crm/crm.h b/include/crm/crm.h index e70e7f203f..51f6dcfff2 100644 --- a/include/crm/crm.h +++ b/include/crm/crm.h @@ -1,144 +1,145 @@ -/* $Id: crm.h,v 1.12 2004/06/03 07:52:15 andrew Exp $ */ +/* $Id: crm.h,v 1.13 2004/06/07 10:20:41 andrew Exp $ */ /* * Copyright (C) 2004 Andrew Beekhof * * This program 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.1 of the License, or (at your option) any later version. * * This software 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 this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef CRM__H #define CRM__H #include #include #include #include #include #include +#ifdef MCHECK #include - +#endif #include /* Clean these up at some point, some probably should be runtime options */ #define WORKING_DIR HA_VARLIBDIR"/heartbeat/crm" #define BIN_DIR "/usr/lib/heartbeat" #define MAXDATASIZE 65535 // ipc comms #define SOCKET_LEN 1024 #define APPNAME_LEN 256 #define LOG_DIR "/var/log" #define MAX_IPC_FAIL 5 #define CIB_FILENAME WORKING_DIR"/cib.xml" #define CIB_BACKUP WORKING_DIR"/cib_backup.xml" #define MSG_LOG 1 #define DOT_FSA_ACTIONS 1 #define DOT_ALL_FSA_INPUTS 1 //#define FSA_TRACE 1 #define USE_FAKE_LRM 1 /* Sub-systems */ #define CRM_SYSTEM_DC "dc" #define CRM_SYSTEM_DCIB "dcib" // The master CIB #define CRM_SYSTEM_CIB "cib" #define CRM_SYSTEM_CRMD "crmd" #define CRM_SYSTEM_LRMD "lrmd" #define CRM_SYSTEM_PENGINE "pengine" #define CRM_SYSTEM_TENGINE "tengine" /* Valid operations */ #define CRM_OP_BUMP "bump" #define CRM_OP_QUERY "query" #define CRM_OP_CREATE "create" #define CRM_OP_UPDATE "update" #define CRM_OP_DELETE "delete" #define CRM_OP_ERASE "erase" #define CRM_OP_STORE "store" #define CRM_OP_REPLACE "replace" #define CRM_OP_FORWARD "forward" #define CRM_OP_JOINACK "join_ack" #define CRM_OP_WELCOME "welcome" #define CRM_OP_PING "ping" #define CRM_OP_VOTE "vote" #define CRM_OP_HELLO "hello" #define CRM_OP_ANNOUNCE "announce" #define CRM_OP_HBEAT "dc_beat" #define CRM_OP_PECALC "pe_calc" #define CRM_OP_ABORT "abort" #define CRM_OP_QUIT "quit" #define CRM_OP_SHUTDOWN "shutdown_crm" #define CRM_OP_EVENTCC "event_cc" #define CRM_OP_TEABORT "te_abort" #define CRM_OP_TRANSITION "transition" #define CRM_OP_TECOMPLETE "te_complete" #define CRM_OP_SHUTDOWN_REQ "req_shutdown" #define CRMD_STATE_ACTIVE "member" #define CRMD_STATE_INACTIVE "down" #define CRMD_JOINSTATE_DOWN "down" #define CRMD_JOINSTATE_PENDING "pending" #define CRMD_JOINSTATE_MEMBER "member" typedef GList* GListPtr; #define safe_str_eq(x, y) x!=NULL && y!=NULL && strcmp(x,y) == 0 #define safe_str_neq(x, y) x != y && (x==NULL || y==NULL || strcmp(x,y) != 0) #define slist_iter(w, x, y, z, a) for(z = 0; z < g_list_length(y); z++) { \ x *w = (x*)g_list_nth_data(y, z); \ a; \ } /* Developmental debug stuff */ #define LOG_DEV LOG_DEBUG+1 #define LOG_VERBOSE LOG_DEBUG+2 #define LOG_TRACE LOG_DEBUG+3 #if 1 # define crm_crit(w...) do_crm_log(LOG_CRIT, __FUNCTION__, w) # define crm_err(w...) do_crm_log(LOG_ERR, __FUNCTION__, w) # define crm_warn(w...) do_crm_log(LOG_WARNING, __FUNCTION__, w) # define crm_notice(w...) do_crm_log(LOG_NOTICE, __FUNCTION__, w) # define crm_info(w...) do_crm_log(LOG_INFO, __FUNCTION__, w) # define crm_debug(w...) do_crm_log(LOG_DEBUG, __FUNCTION__, w) # define crm_devel(w...) do_crm_log(LOG_DEV, __FUNCTION__, w) # define crm_verbose(w...) do_crm_log(LOG_VERBOSE, __FUNCTION__, w) # define crm_trace(w...) do_crm_log(LOG_TRACE, __FUNCTION__, w) #else # define crm_crit(w...) cl_log(LOG_CRIT, w) # define crm_err(w...) cl_log(LOG_ERR, w) # define crm_warn(w...) cl_log(LOG_WARNING, w) # define crm_notice(w...) cl_log(LOG_NOTICE, w) # define crm_info(w...) cl_log(LOG_INFO, w) # define crm_debug(w...) cl_log(LOG_DEBUG, w) # define crm_devel(w...) cl_log(LOG_DEV, w) # define crm_vebose(w...) cl_log(LOG_VERBOSE, w) # define crm_trace(w...) cl_log(LOG_TRACE, w) #endif #define crm_debug_action(x) if(crm_log_level >= LOG_DEBUG) { \ x; \ } #define crm_info_action(x) if(crm_log_level >= LOG_INFO) { \ x; \ } #define crm_malloc(x) malloc(x) #define crm_free(x) if(x) { free(x); x=NULL; } #define crm_strdup(x) strdup(x) #endif