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