1/* SPDX-License-Identifier: GPL-2.0-only */
2/******************************************************************************
3*******************************************************************************
4**
5**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
6**  Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
7**
8**
9*******************************************************************************
10******************************************************************************/
11
12#ifndef __MIDCOMMS_DOT_H__
13#define __MIDCOMMS_DOT_H__
14
15struct midcomms_node;
16
17int dlm_validate_incoming_buffer(int nodeid, unsigned char *buf, int len);
18int dlm_process_incoming_buffer(int nodeid, unsigned char *buf, int buflen);
19struct dlm_mhandle *dlm_midcomms_get_mhandle(int nodeid, int len,
20					     gfp_t allocation, char **ppc);
21void dlm_midcomms_commit_mhandle(struct dlm_mhandle *mh, const void *name,
22				 int namelen);
23int dlm_midcomms_addr(int nodeid, struct sockaddr_storage *addr, int len);
24void dlm_midcomms_version_wait(void);
25int dlm_midcomms_close(int nodeid);
26int dlm_midcomms_start(void);
27void dlm_midcomms_stop(void);
28void dlm_midcomms_init(void);
29void dlm_midcomms_exit(void);
30void dlm_midcomms_shutdown(void);
31void dlm_midcomms_add_member(int nodeid);
32void dlm_midcomms_remove_member(int nodeid);
33void dlm_midcomms_unack_msg_resend(int nodeid);
34const char *dlm_midcomms_state(struct midcomms_node *node);
35unsigned long dlm_midcomms_flags(struct midcomms_node *node);
36int dlm_midcomms_send_queue_cnt(struct midcomms_node *node);
37uint32_t dlm_midcomms_version(struct midcomms_node *node);
38int dlm_midcomms_rawmsg_send(struct midcomms_node *node, void *buf,
39			     int buflen);
40struct kmem_cache *dlm_midcomms_cache_create(void);
41
42#endif				/* __MIDCOMMS_DOT_H__ */
43
44