18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/******************************************************************************
38c2ecf20Sopenharmony_ci*******************************************************************************
48c2ecf20Sopenharmony_ci**
58c2ecf20Sopenharmony_ci**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
68c2ecf20Sopenharmony_ci**  Copyright (C) 2004-2011 Red Hat, Inc.  All rights reserved.
78c2ecf20Sopenharmony_ci**
88c2ecf20Sopenharmony_ci**
98c2ecf20Sopenharmony_ci*******************************************************************************
108c2ecf20Sopenharmony_ci******************************************************************************/
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#ifndef __CONFIG_DOT_H__
138c2ecf20Sopenharmony_ci#define __CONFIG_DOT_H__
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#define DEFAULT_BUFFER_SIZE     4096
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_cistruct dlm_config_node {
188c2ecf20Sopenharmony_ci	int nodeid;
198c2ecf20Sopenharmony_ci	int weight;
208c2ecf20Sopenharmony_ci	int new;
218c2ecf20Sopenharmony_ci	uint32_t comm_seq;
228c2ecf20Sopenharmony_ci};
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci#define DLM_MAX_ADDR_COUNT 3
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_cistruct dlm_config_info {
278c2ecf20Sopenharmony_ci	int ci_tcp_port;
288c2ecf20Sopenharmony_ci	int ci_buffer_size;
298c2ecf20Sopenharmony_ci	int ci_rsbtbl_size;
308c2ecf20Sopenharmony_ci	int ci_recover_timer;
318c2ecf20Sopenharmony_ci	int ci_toss_secs;
328c2ecf20Sopenharmony_ci	int ci_scan_secs;
338c2ecf20Sopenharmony_ci	int ci_log_debug;
348c2ecf20Sopenharmony_ci	int ci_log_info;
358c2ecf20Sopenharmony_ci	int ci_protocol;
368c2ecf20Sopenharmony_ci	int ci_mark;
378c2ecf20Sopenharmony_ci	int ci_timewarn_cs;
388c2ecf20Sopenharmony_ci	int ci_waitwarn_us;
398c2ecf20Sopenharmony_ci	int ci_new_rsb_count;
408c2ecf20Sopenharmony_ci	int ci_recover_callbacks;
418c2ecf20Sopenharmony_ci	char ci_cluster_name[DLM_LOCKSPACE_LEN];
428c2ecf20Sopenharmony_ci};
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciextern struct dlm_config_info dlm_config;
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciint dlm_config_init(void);
478c2ecf20Sopenharmony_civoid dlm_config_exit(void);
488c2ecf20Sopenharmony_ciint dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
498c2ecf20Sopenharmony_ci		     int *count_out);
508c2ecf20Sopenharmony_ciint dlm_comm_seq(int nodeid, uint32_t *seq);
518c2ecf20Sopenharmony_civoid dlm_comm_mark(int nodeid, unsigned int *mark);
528c2ecf20Sopenharmony_ciint dlm_our_nodeid(void);
538c2ecf20Sopenharmony_ciint dlm_our_addr(struct sockaddr_storage *addr, int num);
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci#endif				/* __CONFIG_DOT_H__ */
568c2ecf20Sopenharmony_ci
57