blob: dbd35a08f3a5f4c4aa03c9495b33975400f68bfa [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_recover_timer;
31 int ci_toss_secs;
32 int ci_scan_secs;
David Teigland99fc6482007-01-09 09:44:01 -060033 int ci_log_debug;
Patrick Caulfield6ed7257b2007-04-17 15:39:57 +010034 int ci_protocol;
David Teigland3ae1acf2007-05-18 08:59:31 -050035 int ci_timewarn_cs;
David Teiglandc6ff6692011-03-28 14:17:26 -050036 int ci_waitwarn_us;
David Teigland3881ac02011-07-07 14:05:03 -050037 int ci_new_rsb_count;
David Teigland60f98d12011-11-02 14:30:58 -050038 int ci_recover_callbacks;
39 char ci_cluster_name[DLM_LOCKSPACE_LEN];
David Teiglande7fd4172006-01-18 09:30:29 +000040};
41
42extern struct dlm_config_info dlm_config;
43
44int dlm_config_init(void);
45void dlm_config_exit(void);
David Teigland60f98d12011-11-02 14:30:58 -050046int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
47 int *count_out);
48int dlm_comm_seq(int nodeid, uint32_t *seq);
David Teiglande7fd4172006-01-18 09:30:29 +000049int dlm_nodeid_to_addr(int nodeid, struct sockaddr_storage *addr);
50int dlm_addr_to_nodeid(struct sockaddr_storage *addr, int *nodeid);
51int dlm_our_nodeid(void);
52int dlm_our_addr(struct sockaddr_storage *addr, int num);
53
54#endif /* __CONFIG_DOT_H__ */
55