| 58 | }; |
| 59 | |
| 60 | static int |
| 61 | MkPeerCmd(int ac, char **av) |
| 62 | { |
| 63 | struct ngm_mkpeer mkp; |
| 64 | const char *path = "."; |
| 65 | |
| 66 | /* Get arguments */ |
| 67 | switch (ac) { |
| 68 | case 5: |
| 69 | path = av[1]; |
| 70 | ac--; |
| 71 | av++; |
| 72 | /* FALLTHROUGH */ |
| 73 | case 4: |
| 74 | snprintf(mkp.type, sizeof(mkp.type), "%s", av[1]); |
| 75 | snprintf(mkp.ourhook, sizeof(mkp.ourhook), "%s", av[2]); |
| 76 | snprintf(mkp.peerhook, sizeof(mkp.peerhook), "%s", av[3]); |
| 77 | break; |
| 78 | default: |
| 79 | return (CMDRTN_USAGE); |
| 80 | } |
| 81 | |
| 82 | /* Send message */ |
| 83 | if (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, |
| 84 | NGM_MKPEER, &mkp, sizeof(mkp)) < 0) { |
| 85 | warn("send msg"); |
| 86 | return (CMDRTN_ERROR); |
| 87 | } |
| 88 | return (CMDRTN_OK); |
| 89 | } |
| 90 | |