Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




16.5.3 Example of Local-Namespace Sockets

Here is an example showing how to create and name a socket in the local namespace.

     #include <stddef.h>
     #include <stdio.h>
     #include <errno.h>
     #include <stdlib.h>
     #include <sys/socket.h>
     #include <sys/un.h>
     make_named_socket (const char *filename)
       struct sockaddr_un name;
       int sock;
       size_t size;
       /* Create the socket. */
       sock = socket (PF_LOCAL, SOCK_DGRAM, 0);
       if (sock < 0)
           perror ("socket");
           exit (EXIT_FAILURE);
       /* Bind a name to the socket. */
       name.sun_family = AF_LOCAL;
       strncpy (name.sun_path, filename, sizeof (name.sun_path));
       /* The size of the address is
          the offset of the start of the filename,
          plus its length,
          plus one for the terminating null byte.
          Alternatively you can just do:
          size = SUN_LEN (&name);
       size = (offsetof (struct sockaddr_un, sun_path)
               + strlen (name.sun_path) + 1);
       if (bind (sock, (struct sockaddr *) &name, size) < 0)
           perror ("bind");
           exit (EXIT_FAILURE);
       return sock;

  Published under the terms of the GNU General Public License Design by Interspire