]> git.proxmox.com Git - mirror_lxc.git/blame - src/lxc/af_unix.h
af_unix: add lxc_unix_connect_type
[mirror_lxc.git] / src / lxc / af_unix.h
CommitLineData
b0a33c1e 1/*
2 * lxc: linux Container library
3 *
4 * (C) Copyright IBM Corp. 2007, 2008
5 *
6 * Authors:
9afe19d6 7 * Daniel Lezcano <daniel.lezcano at free.fr>
b0a33c1e 8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
250b1eec 21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
b0a33c1e 22 */
23
f1a4a029
ÇO
24#ifndef __LXC_AF_UNIX_H
25#define __LXC_AF_UNIX_H
26
ae467c54 27#include <stdio.h>
86ce1da1
CB
28#include <sys/socket.h>
29#include <sys/un.h>
ae467c54 30
caf3beb0 31/* does not enforce \0-termination */
aae93dd3 32extern int lxc_abstract_unix_open(const char *path, int type, int flags);
9044b79e 33extern void lxc_abstract_unix_close(int fd);
caf3beb0 34/* does not enforce \0-termination */
aae93dd3 35extern int lxc_abstract_unix_connect(const char *path);
ae467c54
CB
36extern int lxc_abstract_unix_send_fds(int fd, int *sendfds, int num_sendfds,
37 void *data, size_t size);
e1726045
WB
38extern int lxc_abstract_unix_send_fds_iov(int fd, int *sendfds,
39 int num_sendfds, struct iovec *iov,
40 size_t iovlen);
5ed06d3a
CB
41extern int lxc_unix_send_fds(int fd, int *sendfds, int num_sendfds, void *data,
42 size_t size);
ae467c54
CB
43extern int lxc_abstract_unix_recv_fds(int fd, int *recvfds, int num_recvfds,
44 void *data, size_t size);
aae93dd3
ÇO
45extern int lxc_abstract_unix_send_credential(int fd, void *data, size_t size);
46extern int lxc_abstract_unix_rcv_credential(int fd, void *data, size_t size);
86ce1da1
CB
47extern int lxc_unix_sockaddr(struct sockaddr_un *ret, const char *path);
48extern int lxc_unix_connect(struct sockaddr_un *addr);
970ef13d 49extern int lxc_unix_connect_type(struct sockaddr_un *addr, int type);
86ce1da1 50extern int lxc_socket_set_timeout(int fd, int rcv_timeout, int snd_timeout);
b0a33c1e 51
77b0073a 52#endif /* __LXC_AF_UNIX_H */