blob: df92b0a07fc6c5300940f27f2ba30eadbda651c1 [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
Alexander Aringd10a0b82021-06-02 09:45:20 -040015#define DLM_MAX_SOCKET_BUFSIZE 4096
Alexander Aring4798cbb2020-09-24 10:31:26 -040016
David Teigland60f98d12011-11-02 14:30:58 -050017struct dlm_config_node {
18 int nodeid;
19 int weight;
20 int new;
21 uint32_t comm_seq;
22};
23
David Teiglande7fd4172006-01-18 09:30:29 +000024#define DLM_MAX_ADDR_COUNT 3
25
Alexander Aringac7d5d02021-06-02 09:45:19 -040026#define DLM_PROTO_TCP 0
27#define DLM_PROTO_SCTP 1
28
David Teiglande7fd4172006-01-18 09:30:29 +000029struct dlm_config_info {
David Teigland68c817a2007-01-09 09:41:48 -060030 int ci_tcp_port;
31 int ci_buffer_size;
32 int ci_rsbtbl_size;
David Teigland68c817a2007-01-09 09:41:48 -060033 int ci_recover_timer;
34 int ci_toss_secs;
35 int ci_scan_secs;
David Teigland99fc6482007-01-09 09:44:01 -060036 int ci_log_debug;
Zhilong Liu505ee522016-06-19 23:52:46 -050037 int ci_log_info;
Patrick Caulfield6ed7257b2007-04-17 15:39:57 +010038 int ci_protocol;
Alexander Aringa5b7ab62020-06-26 13:26:49 -040039 int ci_mark;
David Teigland3ae1acf2007-05-18 08:59:31 -050040 int ci_timewarn_cs;
David Teiglandc6ff6692011-03-28 14:17:26 -050041 int ci_waitwarn_us;
David Teigland3881ac02011-07-07 14:05:03 -050042 int ci_new_rsb_count;
David Teigland60f98d12011-11-02 14:30:58 -050043 int ci_recover_callbacks;
44 char ci_cluster_name[DLM_LOCKSPACE_LEN];
David Teiglande7fd4172006-01-18 09:30:29 +000045};
46
47extern struct dlm_config_info dlm_config;
48
49int dlm_config_init(void);
50void dlm_config_exit(void);
David Teigland60f98d12011-11-02 14:30:58 -050051int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
52 int *count_out);
53int dlm_comm_seq(int nodeid, uint32_t *seq);
David Teiglande7fd4172006-01-18 09:30:29 +000054int dlm_our_nodeid(void);
55int dlm_our_addr(struct sockaddr_storage *addr, int num);
56
57#endif /* __CONFIG_DOT_H__ */
58