Re: Questions about XCB using domain sockets.

Alan Coopersmith <[email protected]>
Newsgroups gmane.comp.freedesktop.xcb
Message-ID <[email protected]>
On 02/26/18 12:13 AM, xc haze wrote:
> Hi:
> When I look at XCB communication,
> static int _xcb_open_abstract(char *protocol, const char *file, size_t filelen)
> {
>     int fd;
>     struct sockaddr_un addr = {0};
>     socklen_t namelen;
> 
>     if (protocol && strcmp("unix",protocol))
>         return -1;
> 
>     strcpy(addr.sun_path + 1, file);
>     addr.sun_family = AF_UNIX;
>     namelen = offsetof(struct sockaddr_un, sun_path) + 1 + filelen;
>    。。。。。。
> }
> Why do we add one to addr->sun_path?

Because abstract sockets have the name field start with a byte of 0,
then the actual name, to distinguish them from filesystem pathnames.

See "Address format" in http://man7.org/linux/man-pages/man7/unix.7.html

-- 
	-Alan Coopersmith-               [email protected]
	 Oracle Solaris Engineering - https://blogs.oracle.com/alanc
_______________________________________________
Xcb mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/xcb
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.