GNU Linux-libre 4.9.308-gnu1
[releases.git] / fs / dlm / config.h
1 /******************************************************************************
2 *******************************************************************************
3 **
4 **  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
5 **  Copyright (C) 2004-2011 Red Hat, Inc.  All rights reserved.
6 **
7 **  This copyrighted material is made available to anyone wishing to use,
8 **  modify, copy, or redistribute it subject to the terms and conditions
9 **  of the GNU General Public License v.2.
10 **
11 *******************************************************************************
12 ******************************************************************************/
13
14 #ifndef __CONFIG_DOT_H__
15 #define __CONFIG_DOT_H__
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 struct dlm_config_info {
27         int ci_tcp_port;
28         int ci_buffer_size;
29         int ci_rsbtbl_size;
30         int ci_recover_timer;
31         int ci_toss_secs;
32         int ci_scan_secs;
33         int ci_log_debug;
34         int ci_log_info;
35         int ci_protocol;
36         int ci_timewarn_cs;
37         int ci_waitwarn_us;
38         int ci_new_rsb_count;
39         int ci_recover_callbacks;
40         char ci_cluster_name[DLM_LOCKSPACE_LEN];
41 };
42
43 extern struct dlm_config_info dlm_config;
44
45 int dlm_config_init(void);
46 void dlm_config_exit(void);
47 int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
48                      int *count_out);
49 int dlm_comm_seq(int nodeid, uint32_t *seq);
50 int dlm_our_nodeid(void);
51 int dlm_our_addr(struct sockaddr_storage *addr, int num);
52
53 #endif                          /* __CONFIG_DOT_H__ */
54