没有合适的资源?快使用搜索试试~ 我知道了~
spice vd interface接口
资源推荐
资源详情
资源评论
Table of Contents
1.Introduction............................................................................................................................................3
2.Basic operation.......................................................................................................................................3
3.Front-end public symbols.......................................................................................................................3
4.Front-end termination............................................................................................................................4
5.Common Definition...............................................................................................................................4
6.Base structure of VD interface...............................................................................................................4
7.Core interface.........................................................................................................................................5
7.1.VDInterface members value...........................................................................................................5
7.2.Types..............................................................................................................................................5
7.3.VDInterface specific extension......................................................................................................6
8.Other interfaces......................................................................................................................................7
9.Keyboard interface................................................................................................................................7
9.1.VDInterface members value...........................................................................................................7
9.2.Types..............................................................................................................................................7
9.3.VDInterface specific extension......................................................................................................8
10.Mouse interface...................................................................................................................................8
10.1.VDInterface members value.........................................................................................................8
10.2.Types............................................................................................................................................8
10.3.VDInterface specific extension....................................................................................................9
11.Tablet interface...................................................................................................................................9
11.1.Interface members value..............................................................................................................9
11.2.Types............................................................................................................................................9
11.3.VDInterface specific extension....................................................................................................9
12.Playback interface.............................................................................................................................10
12.1.VDInterface members value.......................................................................................................10
12.2.PlaybackPlug..............................................................................................................................10
12.3.VDInterface specific extension..................................................................................................11
13.Record interface................................................................................................................................11
13.1.VDInterface members value.......................................................................................................11
13.2.RecordPlug.................................................................................................................................11
13.3.VDInterface specific extension..................................................................................................12
14.Additional registered interfaces.........................................................................................................12
1. Introduction
Virtual Device Interfaces (VDI) provide a standard way to publish interfaces of virtual devices
by a software component. This enables other software components to interact with these
devices. Going forward, the first component will be called the back-end and the second
component will be called the front-end. An example for using Virtual Device Interfaces is as
part of a virtual machine system, where the back-end will be the hardware emulation layer. The
back-end will expose interfaces like display port, mouse input etc. The front-end will plug into
the display output and will render its output according to it's specific implementation. The front-
end will also plug into the mouse input and send mouse events to be processed by the back-end.
In addition many other interface types can be exposed by the back-end. Another example of
back-end is a remote display system in a physical machine environment. Here, the back-and is
implemented using known techniques for interacting with the native OS for the purpose of
receiving display updates and pushing inputs. The back-end exposes interfaces like display
output, mouse input etc. The front-end can be exactly the same as in the previous example.
By using VDI one back-end can use many types of front-ends without any special code
modification. It is also possible for the back-end to dynamically switch front-ends, and improve
back-end usability and flexibility. The use of front-ends by many back-ends allows for a better
sharing of development, maintenance, and overall product quality.
2. Basic operation
Back-end to front-end interaction is initiated by back-end. Back-end uses VDI_init symbol to
pass its Core interface to the front-end. In addition to core interface, back-end also passes
options argument to the front-end. Options argument is a string holding initialization argument
specific to front-end implementation. Core interface, like every other interface in VDI, is
represented as a data structure containing data members and member functions. Every interface
starts with a common base structure “VDInterface”. The common structure contains
information for identifying the type of the interface and the instance within the type group (i.e.
The actual unique is {type, id}). Core interface provides basic functionality for attaching with
other interfaces that the back-end implements. Core interface provides methods for receiving
interface change events (i.e. interface added event and removing interface event) and for
enumerating registers. Using these services, the front-end can find and interact with other
interfaces that back-end publishes. The front-end uses VDI type for knowing what functionality
the interface provides and the means to interact with the interface (i.e interface specific logic
function and data members).
3. Front-end public symbols
VDI defines a minimal set of external symbols for enabling back-end to initiate with the front-
end. The back-end can load front-end and retrieve front-end external symbols dynamically at
run-time using native platform services. Alternatively, the front-end static or shared library can
be linked to the back-end during back-end build process.
◦ int VDI_init(const char *args, CoreInterface *core)
剩余11页未读,继续阅读
资源评论
OopspoO
- 粉丝: 1332
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功