GNU Linux-libre 6.1.86-gnu
[releases.git] / fs / dlm / config.h
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         int new;
21         uint32_t comm_seq;
22 };
23
24 #define DLM_MAX_ADDR_COUNT 3
25
26 #define DLM_PROTO_TCP   0
27 #define DLM_PROTO_SCTP  1
28
29 struct dlm_config_info {
30         int ci_tcp_port;
31         int ci_buffer_size;
32         int ci_rsbtbl_size;
33         int ci_recover_timer;
34         int ci_toss_secs;
35         int ci_scan_secs;
36         int ci_log_debug;
37         int ci_log_info;
38         int ci_protocol;
39         int ci_mark;
40 #ifdef CONFIG_DLM_DEPRECATED_API
41         int ci_timewarn_cs;
42 #endif
43         int ci_new_rsb_count;
44         int ci_recover_callbacks;
45         char ci_cluster_name[DLM_LOCKSPACE_LEN];
46 };
47
48 extern struct dlm_config_info dlm_config;
49
50 int dlm_config_init(void);
51 void dlm_config_exit(void);
52 int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
53                      int *count_out);
54 int dlm_comm_seq(int nodeid, uint32_t *seq);
55 int dlm_our_nodeid(void);
56 int dlm_our_addr(struct sockaddr_storage *addr, int num);
57
58 #endif                          /* __CONFIG_DOT_H__ */
59