blob: 2b471aae4e61cede203975c777270ae566d20498 [file] [log] [blame]
Thomas Gleixner2522fe42019-05-28 09:57:20 -07001/* SPDX-License-Identifier: GPL-2.0-only */
David Teiglande7fd4172006-01-18 09:30:29 +00002/******************************************************************************
3*******************************************************************************
4**
5** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
David Teigland60f98d12011-11-02 14:30:58 -05006** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
David Teiglande7fd4172006-01-18 09:30:29 +00007**
David Teiglande7fd4172006-01-18 09:30:29 +00008**
9*******************************************************************************
10******************************************************************************/
11
12#ifndef __CONFIG_DOT_H__
13#define __CONFIG_DOT_H__
14
David Teigland60f98d12011-11-02 14:30:58 -050015struct dlm_config_node {
16 int nodeid;
17 int weight;
18 int new;
19 uint32_t comm_seq;
20};
21
David Teiglande7fd4172006-01-18 09:30:29 +000022#define DLM_MAX_ADDR_COUNT 3
23
24struct dlm_config_info {
David Teigland68c817a2007-01-09 09:41:48 -060025 int ci_tcp_port;
26 int ci_buffer_size;
27 int ci_rsbtbl_size;
David Teigland68c817a2007-01-09 09:41:48 -060028 int ci_recover_timer;
29 int ci_toss_secs;
30 int ci_scan_secs;
David Teigland99fc6482007-01-09 09:44:01 -060031 int ci_log_debug;
Zhilong Liu505ee522016-06-19 23:52:46 -050032 int ci_log_info;
Patrick Caulfield6ed7257b2007-04-17 15:39:57 +010033 int ci_protocol;
David Teigland3ae1acf2007-05-18 08:59:31 -050034 int ci_timewarn_cs;
David Teiglandc6ff6692011-03-28 14:17:26 -050035 int ci_waitwarn_us;
David Teigland3881ac02011-07-07 14:05:03 -050036 int ci_new_rsb_count;
David Teigland60f98d12011-11-02 14:30:58 -050037 int ci_recover_callbacks;
38 char ci_cluster_name[DLM_LOCKSPACE_LEN];
David Teiglande7fd4172006-01-18 09:30:29 +000039};
40
41extern struct dlm_config_info dlm_config;
42
43int dlm_config_init(void);
44void dlm_config_exit(void);
David Teigland60f98d12011-11-02 14:30:58 -050045int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
46 int *count_out);
47int dlm_comm_seq(int nodeid, uint32_t *seq);
David Teiglande7fd4172006-01-18 09:30:29 +000048int dlm_our_nodeid(void);
49int dlm_our_addr(struct sockaddr_storage *addr, int num);
50
51#endif /* __CONFIG_DOT_H__ */
52