Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
3ddc8544
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3ddc8544
编写于
8月 25, 2014
作者:
J
Ján Tomko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Introduce virDomainOpenGraphicsFD API
Define the public API implementation and declare internal driver prototype.
上级
2f0944de
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
75 addition
and
0 deletion
+75
-0
include/libvirt/libvirt.h.in
include/libvirt/libvirt.h.in
+5
-0
src/driver.h
src/driver.h
+7
-0
src/libvirt.c
src/libvirt.c
+58
-0
src/libvirt_public.syms
src/libvirt_public.syms
+5
-0
未找到文件。
include/libvirt/libvirt.h.in
浏览文件 @
3ddc8544
...
...
@@ -5321,6 +5321,11 @@ int virDomainOpenGraphics(virDomainPtr dom,
int
fd
,
unsigned
int
flags
);
int
virDomainOpenGraphicsFD
(
virDomainPtr
dom
,
unsigned
int
idx
,
int
*
fd
,
unsigned
int
flags
);
int
virDomainInjectNMI
(
virDomainPtr
domain
,
unsigned
int
flags
);
int
virDomainFSTrim
(
virDomainPtr
dom
,
...
...
src/driver.h
浏览文件 @
3ddc8544
...
...
@@ -887,6 +887,12 @@ typedef int
int
fd
,
unsigned
int
flags
);
typedef
int
(
*
virDrvDomainOpenGraphicsFD
)(
virDomainPtr
dom
,
unsigned
int
idx
,
int
*
fd
,
unsigned
int
flags
);
typedef
int
(
*
virDrvDomainInjectNMI
)(
virDomainPtr
dom
,
unsigned
int
flags
);
...
...
@@ -1369,6 +1375,7 @@ struct _virDriver {
virDrvDomainOpenConsole
domainOpenConsole
;
virDrvDomainOpenChannel
domainOpenChannel
;
virDrvDomainOpenGraphics
domainOpenGraphics
;
virDrvDomainOpenGraphicsFD
domainOpenGraphicsFD
;
virDrvDomainInjectNMI
domainInjectNMI
;
virDrvDomainMigrateBegin3
domainMigrateBegin3
;
virDrvDomainMigratePrepare3
domainMigratePrepare3
;
...
...
src/libvirt.c
浏览文件 @
3ddc8544
...
...
@@ -20181,6 +20181,64 @@ virDomainOpenGraphics(virDomainPtr dom,
}
/**
* virDomainOpenGraphicsFD:
* @dom: pointer to domain object
* @idx: index of graphics config to open
* @fd: returned file descriptor
* @flags: bitwise-OR of virDomainOpenGraphicsFlags
*
* This will create a socket pair connected to the graphics backend of @dom.
* One socket will be returned as @fd.
* If @dom has multiple graphics backends configured, then @idx will determine
* which one is opened, starting from @idx 0.
*
* To disable any authentication, pass the VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH
* constant for @flags.
*
* This method can only be used when connected to a local
* libvirt hypervisor, over a UNIX domain socket. Attempts
* to use this method over a TCP connection will always fail
*
* Returns 0 on success, -1 on failure
*/
int
virDomainOpenGraphicsFD(virDomainPtr dom,
unsigned int idx,
int *fd,
unsigned int flags)
{
VIR_DOMAIN_DEBUG(dom, "idx=%u, fd=%p, flags=%x",
idx, fd, flags);
virResetLastError();
virCheckDomainReturn(dom, -1);
virCheckNonNullArgGoto(fd, error);
virCheckReadOnlyGoto(dom->conn->flags, error);
if (!VIR_DRV_SUPPORTS_FEATURE(dom->conn->driver, dom->conn,
VIR_DRV_FEATURE_FD_PASSING)) {
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
_("fd passing is not supported by this connection"));
goto error;
}
if (dom->conn->driver->domainOpenGraphicsFD) {
int ret;
ret = dom->conn->driver->domainOpenGraphicsFD(dom, idx, fd, flags);
if (ret < 0)
goto error;
return ret;
}
virReportUnsupportedError();
error:
virDispatchError(dom->conn);
return -1;
}
/**
* virConnectSetKeepAlive:
* @conn: pointer to a hypervisor connection
...
...
src/libvirt_public.syms
浏览文件 @
3ddc8544
...
...
@@ -670,4 +670,9 @@ LIBVIRT_1.2.7 {
virConnectGetDomainCapabilities;
} LIBVIRT_1.2.6;
LIBVIRT_1.2.8 {
global:
virDomainOpenGraphicsFD;
} LIBVIRT_1.2.7;
# .... define new API here using predicted next version number ....
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录