-static int init_udevd_socket(void)
-{
- struct sockaddr_un saddr;
- socklen_t addrlen;
- const int feature_on = 1;
- int retval;
-
- memset(&saddr, 0x00, sizeof(saddr));
- saddr.sun_family = AF_LOCAL;
- /* use abstract namespace for socket path */
- strcpy(&saddr.sun_path[1], UDEVD_CTRL_SOCK_PATH);
- addrlen = offsetof(struct sockaddr_un, sun_path) + 1 + strlen(&saddr.sun_path[1]);
-
- udevd_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
- if (udevd_sock == -1) {
- err("error getting socket: %s\n", strerror(errno));
- return -1;
- }
-
- /* the bind takes care of ensuring only one copy running */
- retval = bind(udevd_sock, (struct sockaddr *) &saddr, addrlen);
- if (retval < 0) {
- err("bind failed: %s\n", strerror(errno));
- close(udevd_sock);
- udevd_sock = -1;
- return -1;
- }
-
- /* enable receiving of the sender credentials */
- setsockopt(udevd_sock, SOL_SOCKET, SO_PASSCRED, &feature_on, sizeof(feature_on));
-
- return 0;
-}
-
-static int init_uevent_netlink_sock(void)