162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/****************************************************************************** 362306a36Sopenharmony_ci******************************************************************************* 462306a36Sopenharmony_ci** 562306a36Sopenharmony_ci** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 662306a36Sopenharmony_ci** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. 762306a36Sopenharmony_ci** 862306a36Sopenharmony_ci** 962306a36Sopenharmony_ci******************************************************************************* 1062306a36Sopenharmony_ci******************************************************************************/ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#ifndef __CONFIG_DOT_H__ 1362306a36Sopenharmony_ci#define __CONFIG_DOT_H__ 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#define DLM_MAX_SOCKET_BUFSIZE 4096 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cistruct dlm_config_node { 1862306a36Sopenharmony_ci int nodeid; 1962306a36Sopenharmony_ci int weight; 2062306a36Sopenharmony_ci int new; 2162306a36Sopenharmony_ci uint32_t comm_seq; 2262306a36Sopenharmony_ci}; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#define DLM_MAX_ADDR_COUNT 3 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci#define DLM_PROTO_TCP 0 2762306a36Sopenharmony_ci#define DLM_PROTO_SCTP 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cistruct dlm_config_info { 3062306a36Sopenharmony_ci int ci_tcp_port; 3162306a36Sopenharmony_ci int ci_buffer_size; 3262306a36Sopenharmony_ci int ci_rsbtbl_size; 3362306a36Sopenharmony_ci int ci_recover_timer; 3462306a36Sopenharmony_ci int ci_toss_secs; 3562306a36Sopenharmony_ci int ci_scan_secs; 3662306a36Sopenharmony_ci int ci_log_debug; 3762306a36Sopenharmony_ci int ci_log_info; 3862306a36Sopenharmony_ci int ci_protocol; 3962306a36Sopenharmony_ci int ci_mark; 4062306a36Sopenharmony_ci int ci_new_rsb_count; 4162306a36Sopenharmony_ci int ci_recover_callbacks; 4262306a36Sopenharmony_ci char ci_cluster_name[DLM_LOCKSPACE_LEN]; 4362306a36Sopenharmony_ci}; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciextern struct dlm_config_info dlm_config; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciint dlm_config_init(void); 4862306a36Sopenharmony_civoid dlm_config_exit(void); 4962306a36Sopenharmony_ciint dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out, 5062306a36Sopenharmony_ci int *count_out); 5162306a36Sopenharmony_ciint dlm_comm_seq(int nodeid, uint32_t *seq); 5262306a36Sopenharmony_ciint dlm_our_nodeid(void); 5362306a36Sopenharmony_ciint dlm_our_addr(struct sockaddr_storage *addr, int num); 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci#endif /* __CONFIG_DOT_H__ */ 5662306a36Sopenharmony_ci 57