PHP 7.4.33
Preview: mpath_cmd.h Size: 4.06 KB
//usr/include/mpath_cmd.h
/*
 * Copyright (C) 2015 Red Hat, Inc.
 *
 * This file is part of the device-mapper multipath userspace tools.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation; either version 2.1
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef LIB_MPATH_CMD_H
#define LIB_MPATH_CMD_H

/*
 * This should be sufficient for json output for >10000 maps,
 * and >60000 paths.
 */
#define MAX_REPLY_LEN (32 * 1024 * 1024)

#ifdef __cplusplus
extern "C" {
#endif

#define DEFAULT_SOCKET		"/org/kernel/linux/storage/multipathd"
#define DEFAULT_REPLY_TIMEOUT	4000


/*
 * DESCRIPTION:
 *	Same as mpath_connect() (see below) except for the "nonblocking"
 *	parameter.
 *	If "nonblocking" is set, connects in non-blocking mode. This is
 *	useful to avoid blocking if the listening socket's backlog is
 *	exceeded. In this case, errno will be set to EAGAIN.
 *	In case of success, the returned file descriptor is in in blocking
 *	mode, even if "nonblocking" was true.
 *
 * RETURNS:
 *	A file descriptor on success. -1 on failure (with errno set).
 */
int __mpath_connect(int nonblocking);

/*
 * DESCRIPTION:
 *	Connect to the running multipathd daemon. On systems with the
 *	multipathd.socket systemd unit file installed, this command will
 *	start multipathd if it is not already running. This function
 *	must be run before any of the others in this library
 *
 * RETURNS:
 *	A file descriptor on success. -1 on failure (with errno set).
 */
int mpath_connect(void);


/*
 * DESCRIPTION:
 *	Disconnect from the multipathd daemon. This function must be
 *	run after after processing all the multipath commands.
 *
 * RETURNS:
 *	0 on success. -1 on failure (with errno set).
 */
int mpath_disconnect(int fd);


/*
 * DESCRIPTION
 *	Send multipathd a command and return the reply. This function
 *	does the same as calling mpath_send_cmd() and then
 *	mpath_recv_reply()
 *
 * RETURNS:
 *	0 on successs, and reply will either be NULL (if there was no
 *	reply data), or point to the reply string, which must be freed by
 *	the caller. -1 on failure (with errno set).
 */
int mpath_process_cmd(int fd, const char *cmd, char **reply,
		      unsigned int timeout);


/*
 * DESCRIPTION:
 *	Send a command to multipathd
 *
 * RETURNS:
 *	0 on success. -1 on failure (with errno set)
 */
int mpath_send_cmd(int fd, const char *cmd);


/*
 * DESCRIPTION:
 *	Return a reply from multipathd for a previously sent command.
 *	This is equivalent to calling mpath_recv_reply_len(), allocating
 *	a buffer of the appropriate size, and then calling
 *	mpath_recv_reply_data() with that buffer.
 *
 * RETURNS:
 *	0 on success, and reply will either be NULL (if there was no
 *	reply data), or point to the reply string, which must be freed by
 *	the caller, -1 on failure (with errno set).
 */
int mpath_recv_reply(int fd, char **reply, unsigned int timeout);


/*
 * DESCRIPTION:
 *	Return the size of the upcoming reply data from the sent multipath
 *	command. This must be called before calling mpath_recv_reply_data().
 *
 * RETURNS:
 *	The required size of the reply data buffer on success. -1 on
 *	failure (with errno set).
 */
ssize_t mpath_recv_reply_len(int fd, unsigned int timeout);


/*
 * DESCRIPTION:
 *	Return the reply data from the sent multipath command.
 *	mpath_recv_reply_len must be called first. reply must point to a
 *	buffer of len size.
 *
 * RETURNS:
 *	0 on success, and reply will contain the reply data string. -1
 *	on failure (with errno set).
 */
int mpath_recv_reply_data(int fd, char *reply, size_t len,
			  unsigned int timeout);

#ifdef __cplusplus
}
#endif
#endif /* LIB_MPATH_CMD_H */

Directory Contents

Dirs: 43 × Files: 126
Name Size Perms Modified Actions
arpa DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
c++ DIR
- drwxr-xr-x 2023-04-06 04:29:05
Edit Download
drm DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
finclude DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
gdb DIR
- drwxr-xr-x 2025-02-10 09:56:40
Edit Download
iproute2 DIR
- drwxr-xr-x 2022-08-09 11:58:53
Edit Download
libdmmp DIR
- drwxr-xr-x 2024-03-05 04:28:03
Edit Download
linux DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
memcached DIR
- drwxr-xr-x 2023-11-15 06:03:44
Edit Download
misc DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
mtd DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
net DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netash DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netatalk DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netax25 DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
neteconet DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netinet DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netipx DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netiucv DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netpacket DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netrom DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
netrose DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
nfs DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
node DIR
- drwxr-xr-x 2024-06-12 06:27:35
Edit Download
nodejs DIR
- drwxr-xr-x 2024-06-12 06:27:35
Edit Download
openssl DIR
- drwxr-xr-x 2026-04-10 06:14:07
Edit Download
php DIR
- drwxr-xr-x 2023-09-20 09:36:49
Edit Download
protocols DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
- drwxr-xr-x 2026-03-12 07:02:00
Edit Download
rdma DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
rpc DIR
- drwxr-xr-x 2026-02-06 06:48:12
Edit Download
rpcsvc DIR
- drwxr-xr-x 2023-04-06 04:29:03
Edit Download
scsi DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
sound DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
tirpc DIR
- drwxr-xr-x 2023-04-06 04:29:03
Edit Download
uv DIR
- drwxr-xr-x 2024-02-29 06:57:25
Edit Download
v8 DIR
- drwxr-xr-x 2024-06-12 06:27:35
Edit Download
video DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
X11 DIR
- drwxr-xr-x 2022-03-25 09:58:44
Edit Download
- drwxr-xr-x 2026-02-13 06:12:53
Edit Download
xen DIR
- drwxr-xr-x 2026-05-07 06:57:46
Edit Download
xfs DIR
- drwxr-xr-x 2022-02-09 04:42:33
Edit Download
7.56 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.98 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.17 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.69 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
24.95 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.91 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.53 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.42 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
7.95 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.21 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
10.87 KB lrw-r--r-- 2021-12-17 22:48:21
Edit Download
10.71 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
12.22 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
8.17 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
179.98 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.25 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.80 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.29 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.64 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.36 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.49 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
42.68 KB lrw-r--r-- 2026-02-04 15:24:04
Edit Download
5.89 KB lrw-r--r-- 2026-02-04 15:24:04
Edit Download
9.89 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.38 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
17.44 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.65 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.16 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.24 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.04 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
9.35 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.19 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
39.69 KB lrw-r--r-- 2023-08-17 10:24:36
Edit Download
4.11 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.43 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
7.13 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.29 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.84 KB lrw-r--r-- 2022-02-15 15:32:21
Edit Download
6.53 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.42 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.81 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.77 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
8.14 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
17.43 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
126 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.35 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.47 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.57 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
7.62 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
7.50 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.84 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
48.70 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.38 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
956 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.28 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.92 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.06 KB lrw-r--r-- 2023-10-31 22:21:59
Edit Download
11.22 KB lrw-r--r-- 2023-10-31 22:21:59
Edit Download
4.50 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
27.79 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.71 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
14.07 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
20.81 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
17.85 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
10.88 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
2.91 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
22 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.71 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.40 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
47.24 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.53 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
6.17 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
25.30 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.35 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
11.96 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
963 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.92 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.32 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.38 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.12 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.31 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.34 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
12.73 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
8.08 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
31.62 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
81.30 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
6.82 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
11.17 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
21.16 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
264 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.40 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
8.28 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
30.45 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.73 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
35.54 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
19.00 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.64 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
11.64 KB lrw-r--r-- 2026-03-02 13:08:06
Edit Download
25 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.11 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
24 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.66 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
214 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.51 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
43.61 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
7.51 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
15.65 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
14.49 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.44 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.96 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.99 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
1.55 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
43.91 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.25 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
2.53 KB lrw-r--r-- 2024-03-21 11:18:10
Edit Download
1.86 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
3.15 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
4.00 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
65.59 KB lrw-r--r-- 2022-01-04 14:18:00
Edit Download
1.91 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
22 B lrw-r--r-- 2026-01-30 08:20:56
Edit Download
31.05 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
5.42 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
2.44 KB lrw-r--r-- 2026-01-30 08:20:56
Edit Download
15.88 KB lrw-r--r-- 2022-10-14 21:33:00
Edit Download
94.00 KB lrw-r--r-- 2022-10-14 21:33:00
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).