+ int sd, i;
+
+ sd = socket(PF_UNIX, SOCK_DGRAM, 0);
+ if (sd < 0)
+ err(EXIT_FAILURE, "socket");
+
+ memset(&addr, 0, sizeof(addr));
+ addr.sun_family = AF_UNIX;
+ strcpy(addr.sun_path, PBOOT_USER_EVENT_SOCKET);
+
+ for (i = 10; i; i--) {
+ ssize_t sent = sendto(sd, buf, len, 0,
+ (struct sockaddr *)&addr, SUN_LEN(&addr));
+
+ if (sent == len)
+ break;
+
+ DBG("pb-event: waiting for server %d\n", i);
+ sleep(1);
+ }
+
+ close(sd);
+
+ if (!i)
+ err(EXIT_FAILURE, "send");
+
+ DBG("pb-event: wrote %zu bytes\n", len);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{