在wayland源代码中,我找不到在哪个文件中定义变量

时间:2017-05-22 01:55:30

标签: protocols wayland

这是wayland github

提出的问题

从上一个问题中,我发现“wl_compositor_interface”在头文件“wayland-server-protocol.h”中用作结构标记和变量。

%windir%\system32\inetsrv\config

但是,头文件刚刚将变量声明为struct wl_compositor_interface { void (*create_surface)(struct wl_client *client, struct wl_resource *resource, uint32_t id); void (*create_region)(struct wl_client *client, struct wl_resource *resource, uint32_t id); }; extern const struct wl_interface wl_compositor_interface; 我找不到变量的定义位置。类似地,具有模式“wl _ *** _ interface”的所有变量都在头文件中声明但没有定义。 有人可以帮我找到定义吗? Wayland来源在这里enter image description here

我也查看了文档,没有关于wl _ *** _ interface

的描述

1 个答案:

答案 0 :(得分:0)

这是因为绑定到wl_compositor global时必须使用的struct wl_interface wl_compositor_interface位于生成的协议代码中,通常位于$SRC/protocol/wayland-protocol.c

struct wl_compositor_interface是合成器用于注册函数的结构,它将接收来自客户端的请求(用于表示客户端看到的合成器全局的wl_resource结构)。