Skip to content

Instantly share code, notes, and snippets.

@typelogic
Forked from ryran/create-a-socket.c
Created November 3, 2019 14:23
Show Gist options
  • Save typelogic/9fbe859c514f24f480f966793dbb9667 to your computer and use it in GitHub Desktop.
Save typelogic/9fbe859c514f24f480f966793dbb9667 to your computer and use it in GitHub Desktop.
tiny C application to create a unix socket (UDS) file
#include <fcntl.h>
#include <sys/un.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char **argv)
{
// The following line expects the socket path to be first argument
char * mysocketpath = argv[1];
// Alternatively, you could comment that and set it statically:
//char * mysocketpath = "/tmp/mysock";
struct sockaddr_un namesock;
int fd;
namesock.sun_family = AF_UNIX;
strncpy(namesock.sun_path, (char *)mysocketpath, sizeof(namesock.sun_path));
fd = socket(AF_UNIX, SOCK_DGRAM, 0);
bind(fd, (struct sockaddr *) &namesock, sizeof(struct sockaddr_un));
close(fd);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment