diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2008-12-15 15:22:34 +1100 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2008-12-15 15:22:34 +1100 |
commit | 32e6a41f33e5576716b351bd473a27939fe94fa1 (patch) | |
tree | 0d6b75ac0a02d2496416095405cb9498777c3beb /ui/common/discover-client.h | |
parent | 000a92b4fa909c432732ac3ed8f28eeeaeac70ee (diff) | |
download | talos-petitboot-32e6a41f33e5576716b351bd473a27939fe94fa1.tar.gz talos-petitboot-32e6a41f33e5576716b351bd473a27939fe94fa1.zip |
Initial support for multiple UIs
Move the device discovery code from separate udev helpers to a single
process to listen on two sockets: one SOCK_DGRAM for incoming udev
events, and one SOCK_STREAM for UIs to connect.
Initial support for client/server infrastructure, still need to wire-up
the udev messages.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'ui/common/discover-client.h')
-rw-r--r-- | ui/common/discover-client.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ui/common/discover-client.h b/ui/common/discover-client.h new file mode 100644 index 0000000..3ce745b --- /dev/null +++ b/ui/common/discover-client.h @@ -0,0 +1,29 @@ +#ifndef _DISCOVER_CLIENT_H +#define _DISCOVER_CLIENT_H + +#include <pb-protocol/pb-protocol.h> +#include "ui/common/device.h" + +struct discover_client; + +struct discover_client_ops { + int (*add_device)(struct device *); + void (*remove_device)(char *); +}; + +struct discover_client *discover_client_init(struct discover_client_ops *ops); + +int discover_client_get_fd(struct discover_client *client); + +void discover_client_destroy(struct discover_client *client); + +/** + * Process data from the server. + * + * Will read from the client socket, and call add_device on any discovered + * devices. + * + */ +int discover_client_process(struct discover_client *client); + +#endif |