Version 1.8.0.0
[socat.git] / xio-unix.h
bloba286825556ba41cd26790343bc03e36751907743
1 /* source: xio-unix.h */
2 /* Copyright Gerhard Rieger and contributors (see file CHANGES) */
3 /* Published under the GNU General Public License V.2, see file COPYING */
5 #ifndef __xio_unix_h_included
6 #define __xio_unix_h_included 1
8 extern const struct addrdesc xioaddr_unix_connect;
9 extern const struct addrdesc xioaddr_unix_listen;
10 extern const struct addrdesc xioaddr_unix_sendto;
11 extern const struct addrdesc xioaddr_unix_recvfrom;
12 extern const struct addrdesc xioaddr_unix_recv;
13 extern const struct addrdesc xioaddr_unix_client;
14 extern const struct addrdesc xioaddr_abstract_connect;
15 extern const struct addrdesc xioaddr_abstract_listen;
16 extern const struct addrdesc xioaddr_abstract_sendto;
17 extern const struct addrdesc xioaddr_abstract_recvfrom;
18 extern const struct addrdesc xioaddr_abstract_recv;
19 extern const struct addrdesc xioaddr_abstract_client;
21 extern const struct optdesc xioopt_unix_bind_tempname;
22 extern const struct optdesc xioopt_unix_tightsocklen;
24 extern socklen_t
25 xiosetunix(int pf,
26 struct sockaddr_un *saun,
27 const char *path,
28 bool abstract,
29 bool tight);
30 extern int
31 xiosetsockaddrenv_unix(int idx, char *namebuff, size_t namelen,
32 char *valuebuff, size_t valuelen,
33 struct sockaddr_un *sa, socklen_t salen, int ipproto);
35 extern int
36 _xioopen_unix_client(xiosingle_t *xfd, int xioflags, groups_t groups, int abstract, struct opt *opts, const char *name, const struct addrdesc *addrdesc);
38 extern char *xio_tempnam(const char *pathx, bool donttry);
40 #endif /* !defined(__xio_unix_h_included) */