summaryrefslogtreecommitdiffstats
path: root/wayland-util.h
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-12-22 18:06:49 -0500
committerKristian Høgsberg <krh@redhat.com>2008-12-22 18:06:49 -0500
commitfabd4395ba309850403f94a459c3a7298351dd0a (patch)
treeca44b0d51d0560620fe2a1fa2453879cdba192c9 /wayland-util.h
parent12ea62e2112c754d62113e0656b223fbdbe351dd (diff)
downloadwayland-fabd4395ba309850403f94a459c3a7298351dd0a.tar.gz
wayland-fabd4395ba309850403f94a459c3a7298351dd0a.tar.xz
wayland-fabd4395ba309850403f94a459c3a7298351dd0a.zip
Track objects client side using a hash too.
This leads up to using the demarshal machinery for decoding events in the client library.
Diffstat (limited to 'wayland-util.h')
-rw-r--r--wayland-util.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/wayland-util.h b/wayland-util.h
index 2515687..ffb6f6d 100644
--- a/wayland-util.h
+++ b/wayland-util.h
@@ -38,7 +38,32 @@
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
-struct wl_object;
+struct wl_argument {
+ uint32_t type;
+ void *data;
+};
+
+struct wl_message {
+ const char *name;
+ const char *signature;
+ const void **types;
+};
+
+struct wl_interface {
+ const char *name;
+ int version;
+ int method_count;
+ const struct wl_message *methods;
+ int event_count;
+ const struct wl_message *events;
+};
+
+struct wl_object {
+ const struct wl_interface *interface;
+ void (**implementation)(void);
+ uint32_t id;
+};
+
struct wl_hash;
struct wl_hash *wl_hash_create(void);
void wl_hash_destroy(struct wl_hash *hash);