xref: /openbmc/linux/fs/dlm/midcomms.h (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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.
6e7fd4179SDavid Teigland **  Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
7e7fd4179SDavid Teigland **
8e7fd4179SDavid Teigland **
9e7fd4179SDavid Teigland *******************************************************************************
10e7fd4179SDavid Teigland ******************************************************************************/
11e7fd4179SDavid Teigland 
12e7fd4179SDavid Teigland #ifndef __MIDCOMMS_DOT_H__
13e7fd4179SDavid Teigland #define __MIDCOMMS_DOT_H__
14e7fd4179SDavid Teigland 
155b2f981fSAlexander Aring struct midcomms_node;
165b2f981fSAlexander Aring 
17dbb751ffSAlexander Aring int dlm_validate_incoming_buffer(int nodeid, unsigned char *buf, int len);
184798cbbfSAlexander Aring int dlm_process_incoming_buffer(int nodeid, unsigned char *buf, int buflen);
19a070a91cSAlexander Aring struct dlm_mhandle *dlm_midcomms_get_mhandle(int nodeid, int len,
20a070a91cSAlexander Aring 					     gfp_t allocation, char **ppc);
21e01c4b7bSAlexander Aring void dlm_midcomms_commit_mhandle(struct dlm_mhandle *mh, const void *name,
22e01c4b7bSAlexander Aring 				 int namelen);
23*63e711b0SAlexander Aring int dlm_midcomms_addr(int nodeid, struct sockaddr_storage *addr, int len);
24b8b750e0SAlexander Aring void dlm_midcomms_version_wait(void);
25a070a91cSAlexander Aring int dlm_midcomms_close(int nodeid);
26a070a91cSAlexander Aring int dlm_midcomms_start(void);
278b0188b0SAlexander Aring void dlm_midcomms_stop(void);
288b0188b0SAlexander Aring void dlm_midcomms_init(void);
298b0188b0SAlexander Aring void dlm_midcomms_exit(void);
30a070a91cSAlexander Aring void dlm_midcomms_shutdown(void);
31a070a91cSAlexander Aring void dlm_midcomms_add_member(int nodeid);
32a070a91cSAlexander Aring void dlm_midcomms_remove_member(int nodeid);
33489d8e55SAlexander Aring void dlm_midcomms_unack_msg_resend(int nodeid);
345b2f981fSAlexander Aring const char *dlm_midcomms_state(struct midcomms_node *node);
355b2f981fSAlexander Aring unsigned long dlm_midcomms_flags(struct midcomms_node *node);
365b2f981fSAlexander Aring int dlm_midcomms_send_queue_cnt(struct midcomms_node *node);
375b2f981fSAlexander Aring uint32_t dlm_midcomms_version(struct midcomms_node *node);
389af5b8f0SAlexander Aring int dlm_midcomms_rawmsg_send(struct midcomms_node *node, void *buf,
399af5b8f0SAlexander Aring 			     int buflen);
406c547f26SAlexander Aring struct kmem_cache *dlm_midcomms_cache_create(void);
41e7fd4179SDavid Teigland 
42e7fd4179SDavid Teigland #endif				/* __MIDCOMMS_DOT_H__ */
43e7fd4179SDavid Teigland 
44