blob: 9f5e3663bb0c9e9509f4614f54cad427b4a02485 [file] [log] [blame]
David Teiglande7fd4172006-01-18 09:30:29 +00001/******************************************************************************
2*******************************************************************************
3**
4** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
David Teigland60f98d12011-11-02 14:30:58 -05005** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
David Teiglande7fd4172006-01-18 09:30:29 +00006**
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
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
26struct dlm_config_info {
David Teigland68c817a2007-01-09 09:41:48 -060027 int ci_tcp_port;
28 int ci_buffer_size;
29 int ci_rsbtbl_size;
David Teigland68c817a2007-01-09 09:41:48 -060030 int ci_dirtbl_size;
31 int ci_recover_timer;
32 int ci_toss_secs;
33 int ci_scan_secs;
David Teigland99fc6482007-01-09 09:44:01 -060034 int ci_log_debug;
Patrick Caulfield6ed7257b2007-04-17 15:39:57 +010035 int ci_protocol;
David Teigland3ae1acf2007-05-18 08:59:31 -050036 int ci_timewarn_cs;
David Teiglandc6ff6692011-03-28 14:17:26 -050037 int ci_waitwarn_us;
David Teigland3881ac02011-07-07 14:05:03 -050038 int ci_new_rsb_count;
David Teigland60f98d12011-11-02 14:30:58 -050039 int ci_recover_callbacks;
40 char ci_cluster_name[DLM_LOCKSPACE_LEN];
David Teiglande7fd4172006-01-18 09:30:29 +000041};
42
43extern struct dlm_config_info dlm_config;
44
45int dlm_config_init(void);
46void dlm_config_exit(void);
David Teigland60f98d12011-11-02 14:30:58 -050047int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
48 int *count_out);
49int dlm_comm_seq(int nodeid, uint32_t *seq);
David Teiglande7fd4172006-01-18 09:30:29 +000050int dlm_nodeid_to_addr(int nodeid, struct sockaddr_storage *addr);
51int dlm_addr_to_nodeid(struct sockaddr_storage *addr, int *nodeid);
52int dlm_our_nodeid(void);
53int dlm_our_addr(struct sockaddr_storage *addr, int num);
54
55#endif /* __CONFIG_DOT_H__ */
56