12522fe45SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2e7fd4179SDavid Teigland /****************************************************************************** 3e7fd4179SDavid Teigland ******************************************************************************* 4e7fd4179SDavid Teigland ** 5e7fd4179SDavid Teigland ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 660f98d18SDavid Teigland ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. 7e7fd4179SDavid Teigland ** 8e7fd4179SDavid Teigland ** 9e7fd4179SDavid Teigland ******************************************************************************* 10e7fd4179SDavid Teigland ******************************************************************************/ 11e7fd4179SDavid Teigland 12e7fd4179SDavid Teigland #ifndef __CONFIG_DOT_H__ 13e7fd4179SDavid Teigland #define __CONFIG_DOT_H__ 14e7fd4179SDavid Teigland 15*d10a0b88SAlexander Aring #define DLM_MAX_SOCKET_BUFSIZE 4096 164798cbbfSAlexander Aring 1760f98d18SDavid Teigland struct dlm_config_node { 1860f98d18SDavid Teigland int nodeid; 1960f98d18SDavid Teigland int weight; 2060f98d18SDavid Teigland int new; 2160f98d18SDavid Teigland uint32_t comm_seq; 2260f98d18SDavid Teigland }; 2360f98d18SDavid Teigland 24e7fd4179SDavid Teigland #define DLM_MAX_ADDR_COUNT 3 25e7fd4179SDavid Teigland 26ac7d5d03SAlexander Aring #define DLM_PROTO_TCP 0 27ac7d5d03SAlexander Aring #define DLM_PROTO_SCTP 1 28ac7d5d03SAlexander Aring 29e7fd4179SDavid Teigland struct dlm_config_info { 3068c817a1SDavid Teigland int ci_tcp_port; 3168c817a1SDavid Teigland int ci_buffer_size; 3268c817a1SDavid Teigland int ci_rsbtbl_size; 3368c817a1SDavid Teigland int ci_recover_timer; 3468c817a1SDavid Teigland int ci_toss_secs; 3568c817a1SDavid Teigland int ci_scan_secs; 3699fc6487SDavid Teigland int ci_log_debug; 37505ee528SZhilong Liu int ci_log_info; 386ed7257bSPatrick Caulfield int ci_protocol; 39a5b7ab63SAlexander Aring int ci_mark; 403881ac04SDavid Teigland int ci_new_rsb_count; 4160f98d18SDavid Teigland int ci_recover_callbacks; 4260f98d18SDavid Teigland char ci_cluster_name[DLM_LOCKSPACE_LEN]; 43e7fd4179SDavid Teigland }; 44e7fd4179SDavid Teigland 45e7fd4179SDavid Teigland extern struct dlm_config_info dlm_config; 46e7fd4179SDavid Teigland 47e7fd4179SDavid Teigland int dlm_config_init(void); 48e7fd4179SDavid Teigland void dlm_config_exit(void); 4960f98d18SDavid Teigland int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out, 5060f98d18SDavid Teigland int *count_out); 5160f98d18SDavid Teigland int dlm_comm_seq(int nodeid, uint32_t *seq); 52e7fd4179SDavid Teigland int dlm_our_nodeid(void); 53e7fd4179SDavid Teigland int dlm_our_addr(struct sockaddr_storage *addr, int num); 54e7fd4179SDavid Teigland 55e7fd4179SDavid Teigland #endif /* __CONFIG_DOT_H__ */ 56e7fd4179SDavid Teigland 57