1 /****************************************************************************** 2 ******************************************************************************* 3 ** 4 ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 5 ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. 6 ** 7 ** This copyrighted material is made available to anyone wishing to use, 8 ** modify, copy, or redistribute it subject to the terms and conditions 9 ** of the GNU General Public License v.2. 10 ** 11 ******************************************************************************* 12 ******************************************************************************/ 13 14 #ifndef __CONFIG_DOT_H__ 15 #define __CONFIG_DOT_H__ 16 17 struct dlm_config_node { 18 int nodeid; 19 int weight; 20 int new; 21 uint32_t comm_seq; 22 }; 23 24 #define DLM_MAX_ADDR_COUNT 3 25 26 struct dlm_config_info { 27 int ci_tcp_port; 28 int ci_buffer_size; 29 int ci_rsbtbl_size; 30 int ci_dirtbl_size; 31 int ci_recover_timer; 32 int ci_toss_secs; 33 int ci_scan_secs; 34 int ci_log_debug; 35 int ci_protocol; 36 int ci_timewarn_cs; 37 int ci_waitwarn_us; 38 int ci_new_rsb_count; 39 int ci_recover_callbacks; 40 char ci_cluster_name[DLM_LOCKSPACE_LEN]; 41 }; 42 43 extern struct dlm_config_info dlm_config; 44 45 int dlm_config_init(void); 46 void dlm_config_exit(void); 47 int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out, 48 int *count_out); 49 int dlm_comm_seq(int nodeid, uint32_t *seq); 50 int dlm_nodeid_to_addr(int nodeid, struct sockaddr_storage *addr); 51 int dlm_addr_to_nodeid(struct sockaddr_storage *addr, int *nodeid); 52 int dlm_our_nodeid(void); 53 int dlm_our_addr(struct sockaddr_storage *addr, int num); 54 55 #endif /* __CONFIG_DOT_H__ */ 56 57