20
src/ctl.c
20
src/ctl.c
@@ -8,6 +8,26 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/un.h>
|
||||
|
||||
int
|
||||
ctl_reply(int fd, struct ctl_msg *res, struct ctl_msg *req)
|
||||
{
|
||||
if ((send(fd, req, sizeof(struct ctl_msg), 0) == -1) ||
|
||||
(recv(fd, res, sizeof(struct ctl_msg), 0) == -1))
|
||||
return -1;
|
||||
|
||||
if (res->type != req->type || !res->reply) {
|
||||
errno = EINTR;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (res->ret) {
|
||||
errno = res->ret;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
ctl_setsun(struct sockaddr_un *dst, const char *dir, const char *file)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user