logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Author

       Generated automatically by Doxygen for Wayland from the source code.

Version 1.24.0                              Mon Jul 28 2025 16:07:33                             wl_interface(3)

Detailed Description

       Protocol object interface

       A wl_interface describes the API of a protocol object defined in the Wayland protocol specification. The
       protocol implementation uses a wl_interface within its marshalling machinery for encoding client
       requests.

       The name of a wl_interface is the name of the corresponding protocol interface, and version represents
       the version of the interface. The members method_count and event_count represent the number of methods
       (requests) and events in the respective wl_message members.

       For example, consider a protocol interface foo, marked as version 1, with two requests and one event.

       <interface name="foo" version="1">
         <request name="a"></request>
         <request name="b"></request>
         <event name="c"></event>
       </interface>

       Given two wl_message arrays foo_requests and foo_events, a wl_interface for foo might be:

       struct wl_interface foo_interface = {
               "foo", 1,
               2, foo_requests,
               1, foo_events
       };

       Note
           The server side of the protocol may define interface implementationtypes that incorporate the term
           interface in their name. Take care to not confuse these server-side structs with a wl_interface
           variable whose name also ends in interface. For example, while the server may define a type struct
           wl_foo_interface, the client may define a struct wl_interface wl_foo_interface.Seealsowl_messagewl_proxy

           Interfaces

           Versioning

Field Documentation

intwl_interface::event_count
       Number of events

   conststructwl_message*wl_interface::events
       Event signatures

   intwl_interface::method_count
       Number of methods (requests)

   conststructwl_message*wl_interface::methods
       Method (request) signatures

   constchar*wl_interface::name
       Interface name

   intwl_interface::version
       Interface version

Name

       wl_interface

Synopsis

       #include <wayland-util.h>

   DataFields
       const char * name
       int version
       int method_count
       const struct wl_message * methods
       int event_count
       const struct wl_message * events

See Also