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