Commit 970ef13d by Wolfgang Bumiller

af_unix: add lxc_unix_connect_type

we want to use SOCK_SEQPACKET and in the future perhaps SOCK_DATAGRAM as well Signed-off-by: 's avatarWolfgang Bumiller <w.bumiller@proxmox.com>
parent dc85e31e
......@@ -379,13 +379,13 @@ int lxc_unix_sockaddr(struct sockaddr_un *ret, const char *path)
return (int)(offsetof(struct sockaddr_un, sun_path) + len + 1);
}
int lxc_unix_connect(struct sockaddr_un *addr)
int lxc_unix_connect_type(struct sockaddr_un *addr, int type)
{
__do_close_prot_errno int fd = -EBADF;
int ret;
ssize_t len;
fd = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);
fd = socket(AF_UNIX, type | SOCK_CLOEXEC, 0);
if (fd < 0) {
SYSERROR("Failed to open new AF_UNIX socket");
return -1;
......@@ -406,6 +406,11 @@ int lxc_unix_connect(struct sockaddr_un *addr)
return move_fd(fd);
}
int lxc_unix_connect(struct sockaddr_un *addr, int type)
{
return lxc_unix_connect_type(addr, SOCK_STREAM);
}
int lxc_socket_set_timeout(int fd, int rcv_timeout, int snd_timeout)
{
struct timeval out = {0};
......
......@@ -46,6 +46,7 @@ extern int lxc_abstract_unix_send_credential(int fd, void *data, size_t size);
extern int lxc_abstract_unix_rcv_credential(int fd, void *data, size_t size);
extern int lxc_unix_sockaddr(struct sockaddr_un *ret, const char *path);
extern int lxc_unix_connect(struct sockaddr_un *addr);
extern int lxc_unix_connect_type(struct sockaddr_un *addr, int type);
extern int lxc_socket_set_timeout(int fd, int rcv_timeout, int snd_timeout);
#endif /* __LXC_AF_UNIX_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment