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-2005 Red Hat, Inc.  All rights reserved.
762306a36Sopenharmony_ci**
862306a36Sopenharmony_ci**
962306a36Sopenharmony_ci*******************************************************************************
1062306a36Sopenharmony_ci******************************************************************************/
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#ifndef __MIDCOMMS_DOT_H__
1362306a36Sopenharmony_ci#define __MIDCOMMS_DOT_H__
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cistruct midcomms_node;
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciint dlm_validate_incoming_buffer(int nodeid, unsigned char *buf, int len);
1862306a36Sopenharmony_ciint dlm_process_incoming_buffer(int nodeid, unsigned char *buf, int buflen);
1962306a36Sopenharmony_cistruct dlm_mhandle *dlm_midcomms_get_mhandle(int nodeid, int len,
2062306a36Sopenharmony_ci					     gfp_t allocation, char **ppc);
2162306a36Sopenharmony_civoid dlm_midcomms_commit_mhandle(struct dlm_mhandle *mh, const void *name,
2262306a36Sopenharmony_ci				 int namelen);
2362306a36Sopenharmony_ciint dlm_midcomms_addr(int nodeid, struct sockaddr_storage *addr, int len);
2462306a36Sopenharmony_civoid dlm_midcomms_version_wait(void);
2562306a36Sopenharmony_ciint dlm_midcomms_close(int nodeid);
2662306a36Sopenharmony_ciint dlm_midcomms_start(void);
2762306a36Sopenharmony_civoid dlm_midcomms_stop(void);
2862306a36Sopenharmony_civoid dlm_midcomms_init(void);
2962306a36Sopenharmony_civoid dlm_midcomms_exit(void);
3062306a36Sopenharmony_civoid dlm_midcomms_shutdown(void);
3162306a36Sopenharmony_civoid dlm_midcomms_add_member(int nodeid);
3262306a36Sopenharmony_civoid dlm_midcomms_remove_member(int nodeid);
3362306a36Sopenharmony_civoid dlm_midcomms_unack_msg_resend(int nodeid);
3462306a36Sopenharmony_ciconst char *dlm_midcomms_state(struct midcomms_node *node);
3562306a36Sopenharmony_ciunsigned long dlm_midcomms_flags(struct midcomms_node *node);
3662306a36Sopenharmony_ciint dlm_midcomms_send_queue_cnt(struct midcomms_node *node);
3762306a36Sopenharmony_ciuint32_t dlm_midcomms_version(struct midcomms_node *node);
3862306a36Sopenharmony_ciint dlm_midcomms_rawmsg_send(struct midcomms_node *node, void *buf,
3962306a36Sopenharmony_ci			     int buflen);
4062306a36Sopenharmony_cistruct kmem_cache *dlm_midcomms_cache_create(void);
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci#endif				/* __MIDCOMMS_DOT_H__ */
4362306a36Sopenharmony_ci
44