9 #include <sys/socket.h>
14 #include <mpath_persist.h>
16 #include "mpath_cmd.h"
21 static int do_update_pr(char *alias, char *arg)
30 condlog (0, "ux socket connect error");
34 snprintf(str,sizeof(str),"map %s %s", alias, arg);
35 condlog (2, "%s: pr message=%s", alias, str);
36 if (send_packet(fd, str) != 0) {
37 condlog(2, "%s: message=%s send error=%d", alias, str, errno);
41 ret = recv_packet(fd, &reply, DEFAULT_REPLY_TIMEOUT);
43 condlog(2, "%s: message=%s recv error=%d", alias, str, errno);
46 condlog (2, "%s: message=%s reply=%s", alias, str, reply);
47 if (reply && strncmp(reply,"ok", 2) == 0)
58 int update_prflag(char *mapname, int set) {
59 return do_update_pr(mapname, (set)? "setprstatus" : "unsetprstatus");
62 int update_prkey_flags(char *mapname, uint64_t prkey, uint8_t sa_flags) {
66 if (sa_flags & MPATH_F_APTPL_MASK)
69 sprintf(str, "setprkey key %" PRIx64 "%s", prkey, flagstr);
71 sprintf(str, "unsetprkey");
72 return do_update_pr(mapname, str);