1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /****************************************************************************** 3*4882a593Smuzhiyun ******************************************************************************* 4*4882a593Smuzhiyun ** 5*4882a593Smuzhiyun ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 6*4882a593Smuzhiyun ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. 7*4882a593Smuzhiyun ** 8*4882a593Smuzhiyun ** 9*4882a593Smuzhiyun ******************************************************************************* 10*4882a593Smuzhiyun ******************************************************************************/ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef __CONFIG_DOT_H__ 13*4882a593Smuzhiyun #define __CONFIG_DOT_H__ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define DEFAULT_BUFFER_SIZE 4096 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun struct dlm_config_node { 18*4882a593Smuzhiyun int nodeid; 19*4882a593Smuzhiyun int weight; 20*4882a593Smuzhiyun int new; 21*4882a593Smuzhiyun uint32_t comm_seq; 22*4882a593Smuzhiyun }; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define DLM_MAX_ADDR_COUNT 3 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun struct dlm_config_info { 27*4882a593Smuzhiyun int ci_tcp_port; 28*4882a593Smuzhiyun int ci_buffer_size; 29*4882a593Smuzhiyun int ci_rsbtbl_size; 30*4882a593Smuzhiyun int ci_recover_timer; 31*4882a593Smuzhiyun int ci_toss_secs; 32*4882a593Smuzhiyun int ci_scan_secs; 33*4882a593Smuzhiyun int ci_log_debug; 34*4882a593Smuzhiyun int ci_log_info; 35*4882a593Smuzhiyun int ci_protocol; 36*4882a593Smuzhiyun int ci_mark; 37*4882a593Smuzhiyun int ci_timewarn_cs; 38*4882a593Smuzhiyun int ci_waitwarn_us; 39*4882a593Smuzhiyun int ci_new_rsb_count; 40*4882a593Smuzhiyun int ci_recover_callbacks; 41*4882a593Smuzhiyun char ci_cluster_name[DLM_LOCKSPACE_LEN]; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun extern struct dlm_config_info dlm_config; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun int dlm_config_init(void); 47*4882a593Smuzhiyun void dlm_config_exit(void); 48*4882a593Smuzhiyun int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out, 49*4882a593Smuzhiyun int *count_out); 50*4882a593Smuzhiyun int dlm_comm_seq(int nodeid, uint32_t *seq); 51*4882a593Smuzhiyun void dlm_comm_mark(int nodeid, unsigned int *mark); 52*4882a593Smuzhiyun int dlm_our_nodeid(void); 53*4882a593Smuzhiyun int dlm_our_addr(struct sockaddr_storage *addr, int num); 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #endif /* __CONFIG_DOT_H__ */ 56*4882a593Smuzhiyun 57