]> git.proxmox.com Git - mirror_lxc.git/blob - src/lxc/af_unix.h
9f4729c0b9337256ea068860e64fc48094f48e57
[mirror_lxc.git] / src / lxc / af_unix.h
1 /*
2 * lxc: linux Container library
3 *
4 * (C) Copyright IBM Corp. 2007, 2008
5 *
6 * Authors:
7 * Daniel Lezcano <daniel.lezcano at free.fr>
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
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
24 #ifndef __LXC_AF_UNIX_H
25 #define __LXC_AF_UNIX_H
26
27 #include <stdio.h>
28 #include <sys/socket.h>
29 #include <sys/un.h>
30
31 /* does not enforce \0-termination */
32 extern int lxc_abstract_unix_open(const char *path, int type, int flags);
33 extern void lxc_abstract_unix_close(int fd);
34 /* does not enforce \0-termination */
35 extern int lxc_abstract_unix_connect(const char *path);
36 extern int lxc_abstract_unix_send_fds(int fd, int *sendfds, int num_sendfds,
37 void *data, size_t size);
38 extern int lxc_abstract_unix_send_fds_iov(int fd, int *sendfds,
39 int num_sendfds, struct iovec *iov,
40 size_t iovlen);
41 extern int lxc_unix_send_fds(int fd, int *sendfds, int num_sendfds, void *data,
42 size_t size);
43 extern int lxc_abstract_unix_recv_fds(int fd, int *recvfds, int num_recvfds,
44 void *data, size_t size);
45 extern int lxc_abstract_unix_send_credential(int fd, void *data, size_t size);
46 extern int lxc_abstract_unix_rcv_credential(int fd, void *data, size_t size);
47 extern int lxc_unix_sockaddr(struct sockaddr_un *ret, const char *path);
48 extern int lxc_unix_connect(struct sockaddr_un *addr);
49 extern int lxc_socket_set_timeout(int fd, int rcv_timeout, int snd_timeout);
50
51 #endif /* __LXC_AF_UNIX_H */