<!-- The core global object. This is a special singleton object.
It is used for internal wayland protocol features. -->
- <interface name="display" version="1">
+ <interface name="wl_display" version="1">
<request name="bind">
<arg name="id" type="uint"/>
<arg name="interface" type="string"/>
animations. The notification will only be posted for one
frame unless requested again. -->
<request name="frame">
- <arg name="surface" type="object" interface="surface"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
<arg name="key" type="uint"/>
</request>
server will always announce an object before the object sends
out events. -->
<event name="global">
- <arg name="id" type="new_id" interface="object"/>
+ <arg name="id" type="new_id" interface="wl_object"/>
<arg name="name" type="string"/>
<arg name="version" type="uint"/>
</event>
<!-- A compositor. This object is a global. The compositor is in
charge of combining the contents of multiple surfaces into one
displayable output. -->
- <interface name="compositor" version="1">
+ <interface name="wl_compositor" version="1">
<!-- Factory request for a surface objects. A surface is akin to a
window. -->
<request name="create_surface">
- <arg name="id" type="new_id" interface="surface"/>
+ <arg name="id" type="new_id" interface="wl_surface"/>
</request>
</interface>
<!-- Shared memory support -->
- <interface name="shm" version="1">
+ <interface name="wl_shm" version="1">
<!-- Transfer a shm buffer to the server. The allocated buffer
would include at least stride * height bytes starting at the
beginning of fd. The file descriptor is transferred over the
and visual describe the respective properties of the pixel
data contained in the buffer. -->
<request name="create_buffer">
- <arg name="id" type="new_id" interface="buffer"/>
+ <arg name="id" type="new_id" interface="wl_buffer"/>
<arg name="fd" type="fd"/>
<arg name="width" type="int"/>
<arg name="height" type="int"/>
<arg name="stride" type="uint"/>
- <arg name="visual" type="object" interface="visual"/>
+ <arg name="visual" type="object" interface="wl_visual"/>
</request>
</interface>
<!-- A pixel buffer. Created using the drm, shm or similar objects.
It has a size, visual and contents, but not a location on the
screen -->
- <interface name="buffer" version="1">
+ <interface name="wl_buffer" version="1">
<!-- Abandon a buffer. This will invalidate the object id. -->
<request name="destroy" type="destructor"/>
</interface>
- <interface name="shell" version="1">
+ <interface name="wl_shell" version="1">
<request name="move">
- <arg name="surface" type="object" interface="surface"/>
- <arg name="input_device" type="object" interface="input_device"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
+ <arg name="input_device" type="object" interface="wl_input_device"/>
<arg name="time" type="uint"/>
</request>
</enum>
<request name="resize">
- <arg name="surface" type="object" interface="surface"/>
- <arg name="input_device" type="object" interface="input_device"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
+ <arg name="input_device" type="object" interface="wl_input_device"/>
<arg name="time" type="uint"/>
<!-- edges is an enum, need to get the values in here -->
<arg name="edges" type="uint"/>
</request>
<request name="create_drag">
- <arg name="id" type="new_id" interface="drag"/>
+ <arg name="id" type="new_id" interface="wl_drag"/>
</request>
<request name="create_selection">
- <arg name="id" type="new_id" interface="selection"/>
+ <arg name="id" type="new_id" interface="wl_selection"/>
</request>
<!-- The configure event asks the client to resize its surface.
<event name="configure">
<arg name="time" type="uint"/>
<arg name="edges" type="uint"/>
- <arg name="surface" type="object" interface="surface"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
<arg name="width" type="int"/>
<arg name="height" type="int"/>
</event>
</interface>
- <interface name="selection" version="1">
+ <interface name="wl_selection" version="1">
<!-- Add an offered mime type. Can be called several times to
offer multiple types, but must be called before 'activate'. -->
<request name="offer">
<!-- Can the selection be activated for multiple devices? -->
<request name="activate">
- <arg name="input_device" type="object" interface="input_device"/>
+ <arg name="input_device" type="object" interface="wl_input_device"/>
<arg name="time" type="uint"/>
</request>
<event name="cancelled"/>
</interface>
- <interface name="selection_offer" version="1">
+ <interface name="wl_selection_offer" version="1">
<!-- Called to receive the selection data as the specified type.
Sends the pipe fd to the compositor, which forwards it to the
source in the 'send' event -->
</event>
<event name="keyboard_focus">
- <arg name="input_device" type="object" interface="input_device"/>
+ <arg name="input_device" type="object" interface="wl_input_device"/>
</event>
</interface>
- <interface name="drag" version="1">
+ <interface name="wl_drag" version="1">
<!-- Add an offered mime type. Can be called several times to
offer multiple types, but must be called before 'activate'. -->
<request name="offer">
</request>
<request name="activate">
- <arg name="surface" type="object" interface="surface"/>
- <arg name="input_device" type="object" interface="input_device"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
+ <arg name="input_device" type="object" interface="wl_input_device"/>
<arg name="time" type="uint"/>
</request>
</interface>
- <interface name="drag_offer" version="1">
+ <interface name="wl_drag_offer" version="1">
<!-- Call to accept the offer of the given type -->
<request name="accept">
<arg name="time" type="uint"/>
drag object may no longer be valid. -->
<event name="pointer_focus">
<arg name="time" type="uint"/>
- <arg name="surface" type="object" interface="surface"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
<arg name="x" type="int"/>
<arg name="y" type="int"/>
<arg name="surface_x" type="int"/>
<!-- A surface. This is an image that is displayed on the screen.
It has a location, size and pixel contents. Similar to a window. -->
- <interface name="surface" version="1">
+ <interface name="wl_surface" version="1">
<!-- Deletes the surface and invalidates its object id. -->
<request name="destroy" type="destructor"/>
arguments specify the location of the new buffers upper left
corner, relative to the old buffers upper left corner. -->
<request name="attach">
- <arg name="buffer" type="object" interface="buffer"/>
+ <arg name="buffer" type="object" interface="wl_buffer"/>
<arg name="x" type="int"/>
<arg name="y" type="int"/>
</request>
determines the initial position or if the surface is locked
to that relative position during moves. -->
<request name="map_transient">
- <arg name="parent" type="object" interface="surface"/>
+ <arg name="parent" type="object" interface="wl_surface"/>
<arg name="x" type="int"/>
<arg name="y" type="int"/>
<arg name="flags" type="uint"/>
or when such a device is hot plugged. A input_device group
typically has a pointer and maintains a keyboard_focus and a
pointer_focus. -->
- <interface name="input_device" version="1">
+ <interface name="wl_input_device" version="1">
<!-- Set the pointer's image. This request only takes effect if
the pointer focus for this device is one of the requesting
clients surfaces. -->
<request name="attach">
<arg name="time" type="uint"/>
- <arg name="buffer" type="object" interface="buffer"/>
+ <arg name="buffer" type="object" interface="wl_buffer"/>
<arg name="hotspot_x" type="int"/>
<arg name="hotspot_y" type="int"/>
</request>
this event by setting an apropriate pointer image. -->
<event name="pointer_focus">
<arg name="time" type="uint"/>
- <arg name="surface" type="object" interface="surface"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
<arg name="x" type="int"/>
<arg name="y" type="int"/>
<arg name="surface_x" type="int"/>
<event name="keyboard_focus">
<arg name="time" type="uint"/>
- <arg name="surface" type="object" interface="surface"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
<arg name="keys" type="array"/>
</event>
</interface>
displays part of the compositor space. This object is
published as global during start up, or when a screen is hot
plugged. -->
- <interface name="output" version="1">
+ <interface name="wl_output" version="1">
<!-- Notification about the screen size. -->
<event name="geometry">
<arg name="x" type="int"/>
<!-- A visual is the pixel format. The different visuals are
currently only identified by the order they are advertised by
the 'global' events. We need something better. -->
- <interface name="visual" version="1"/>
+ <interface name="wl_visual" version="1"/>
</protocol>
opcode = 0;
wl_list_for_each(m, message_list, link)
- printf("#define WL_%s_%s\t%d\n",
+ printf("#define %s_%s\t%d\n",
interface->uppercase_name, m->uppercase_name, opcode++);
printf("\n");
printf("const char *");
break;
case OBJECT:
- printf("struct wl_%s *", a->interface_name);
+ printf("struct %s *", a->interface_name);
break;
case ARRAY:
printf("struct wl_array *");
int has_destructor, has_destroy;
/* We provide a hand written constructor for the display object */
- if (strcmp(interface->name, "display") != 0)
- printf("static inline struct wl_%s *\n"
- "wl_%s_create(struct wl_display *display, uint32_t id, uint32_t version)\n"
+ if (strcmp(interface->name, "wl_display") != 0)
+ printf("static inline struct %s *\n"
+ "%s_create(struct wl_display *display, uint32_t id, uint32_t version)\n"
"{\n"
"\twl_display_bind(display, id, \"%s\", version);\n\n"
- "\treturn (struct wl_%s *)\n"
- "\t\twl_proxy_create_for_id(display, &wl_%s_interface, id);\n"
+ "\treturn (struct %s *)\n"
+ "\t\twl_proxy_create_for_id(display, &%s_interface, id);\n"
"}\n\n",
interface->name,
interface->name,
interface->name);
printf("static inline void\n"
- "wl_%s_set_user_data(struct wl_%s *%s, void *user_data)\n"
+ "%s_set_user_data(struct %s *%s, void *user_data)\n"
"{\n"
"\twl_proxy_set_user_data((struct wl_proxy *) %s, user_data);\n"
"}\n\n",
interface->name);
printf("static inline void *\n"
- "wl_%s_get_user_data(struct wl_%s *%s)\n"
+ "%s_get_user_data(struct %s *%s)\n"
"{\n"
"\treturn wl_proxy_get_user_data((struct wl_proxy *) %s);\n"
"}\n\n",
}
/* And we have a hand-written display destructor */
- if (!has_destructor && strcmp(interface->name, "display") != 0)
+ if (!has_destructor && strcmp(interface->name, "wl_display") != 0)
printf("static inline void\n"
- "wl_%s_destroy(struct wl_%s *%s)\n"
+ "%s_destroy(struct %s *%s)\n"
"{\n"
"\twl_proxy_destroy("
"(struct wl_proxy *) %s);\n"
}
if (ret)
- printf("static inline struct wl_%s *\n",
+ printf("static inline struct %s *\n",
ret->interface_name);
else
printf("static inline void\n");
- printf("wl_%s_%s(struct wl_%s *%s",
+ printf("%s_%s(struct %s *%s",
interface->name, m->name,
interface->name, interface->name);
printf("\tstruct wl_proxy *%s;\n\n"
"\t%s = wl_proxy_create("
"(struct wl_proxy *) %s,\n"
- "\t\t\t &wl_%s_interface);\n"
+ "\t\t\t &%s_interface);\n"
"\tif (!%s)\n"
"\t\treturn NULL;\n\n",
ret->name,
ret->name);
printf("\twl_proxy_marshal((struct wl_proxy *) %s,\n"
- "\t\t\t WL_%s_%s",
+ "\t\t\t %s_%s",
interface->name,
interface->uppercase_name,
m->uppercase_name);
interface->name);
if (ret)
- printf("\n\treturn (struct wl_%s *) %s;\n",
+ printf("\n\treturn (struct %s *) %s;\n",
ret->interface_name, ret->name);
printf("}\n\n");
struct entry *entry;
wl_list_for_each(e, &interface->enumeration_list, link) {
- printf("#ifndef WL_%s_%s_ENUM\n",
+ printf("#ifndef %s_%s_ENUM\n",
interface->uppercase_name, e->uppercase_name);
- printf("#define WL_%s_%s_ENUM\n",
+ printf("#define %s_%s_ENUM\n",
interface->uppercase_name, e->uppercase_name);
- printf("enum wl_%s_%s {\n", interface->name, e->name);
+ printf("enum %s_%s {\n", interface->name, e->name);
wl_list_for_each(entry, &e->entry_list, link)
- printf("\tWL_%s_%s_%s = %s,\n",
+ printf("\t%s_%s_%s = %s,\n",
interface->uppercase_name,
e->uppercase_name,
entry->uppercase_name, entry->value);
printf("};\n");
- printf("#endif /* WL_%s_%s_ENUM */\n\n",
+ printf("#endif /* %s_%s_ENUM */\n\n",
interface->uppercase_name, e->uppercase_name);
}
}
return;
is_interface = message_list == &interface->request_list;
- printf("struct wl_%s_%s {\n", interface->name,
+ printf("struct %s_%s {\n", interface->name,
is_interface ? "interface" : "listener");
wl_list_for_each(m, message_list, link) {
n = strlen(m->name) + 17;
if (is_interface) {
printf("struct wl_client *client,\n"
- "%sstruct wl_%s *%s",
+ "%sstruct %s *%s",
indent(n),
interface->name, interface->name);
} else {
printf("void *data,\n"),
- printf("%sstruct wl_%s *%s",
+ printf("%sstruct %s *%s",
indent(n), interface->name, interface->name);
}
if (!is_interface) {
printf("static inline int\n"
- "wl_%s_add_listener(struct wl_%s *%s,\n"
- "%sconst struct wl_%s_listener *listener, void *data)\n"
+ "%s_add_listener(struct %s *%s,\n"
+ "%sconst struct %s_listener *listener, void *data)\n"
"{\n"
"\treturn wl_proxy_add_listener((struct wl_proxy *) %s,\n"
"%s(void (**)(void)) listener, data);\n"
protocol->uppercase_name, s);
wl_list_for_each(i, &protocol->interface_list, link)
- printf("struct wl_%s;\n", i->name);
+ printf("struct %s;\n", i->name);
printf("\n");
wl_list_for_each(i, &protocol->interface_list, link) {
printf("extern const struct wl_interface "
- "wl_%s_interface;\n",
+ "%s_interface;\n",
i->name);
}
printf("\n");
emit_messages(&i->event_list, i, "events");
printf("WL_EXPORT const struct wl_interface "
- "wl_%s_interface = {\n"
+ "%s_interface = {\n"
"\t\"%s\", %d,\n",
i->name, i->name, i->version);