Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
a1c891ec
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,发现更多精彩内容 >>
提交
a1c891ec
编写于
4月 23, 2011
作者:
M
Matthias Bolte
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remote generator, client: Handle functions with wrapped return values
上级
9de503f9
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
1086 addition
and
1171 deletion
+1086
-1171
daemon/remote_generator.pl
daemon/remote_generator.pl
+42
-46
src/remote/remote_client_bodies.c
src/remote/remote_client_bodies.c
+973
-58
src/remote/remote_driver.c
src/remote/remote_driver.c
+71
-1067
未找到文件。
daemon/remote_generator.pl
浏览文件 @
a1c891ec
...
...
@@ -756,82 +756,44 @@ elsif ($opt_k) {
"
CPUBaseline
",
"
DomainBlockStats
",
"
DomainCreate
",
"
DomainCreateXML
",
"
DomainDefineXML
",
"
DomainDestroy
",
"
DomainGetAutostart
",
"
DomainGetBlockInfo
",
"
DomainGetInfo
",
"
StoragePoolLookupByUUID
",
"
NodeDeviceCreateXML
",
"
DomainGetJobInfo
",
"
DomainInterfaceStats
",
"
DomainLookupByID
",
"
DomainLookupByName
",
"
DomainLookupByUIID
",
"
DomainMigrateFinish
",
"
NWFilterDefineXML
",
"
NWFilterLookupByName
",
"
NWFilterLookupByUUID
",
"
SecretLookupByUUID
",
"
SecretLookupByUsage
",
"
StoragePoolCreateXML
",
"
DomainLookupByUUID
",
"
NWFilterDefineXML
",
# public API and XDR protocol mismatch
"
DomainMigratePerform
",
"
DomainMigrateFinish2
",
"
DomainSnapshotCreateXML
",
"
DomainSnapshotCurrent
",
"
DomainSnapshotListNames
",
"
GetLibVersion
",
"
GetMaxVcpus
",
"
DomainSnapshotLookupByName
",
"
DomainXMLFromNative
",
"
FindStoragePoolSources
",
"
GetVersion
",
"
GetLibVersion
",
"
InterfaceDefineXML
",
"
InterfaceLookupByName
",
"
IsSecure
",
"
ListDefinedDomains
",
"
ListDefinedInterfaces
",
"
ListNWFilters
",
"
NetworkCreateXML
",
"
SupportsFeature
",
"
StorageVolLookupByPath
",
"
StorageVolGetInfo
",
"
StorageVolCreateXML
",
"
StorageVolLookupByName
",
"
StorageVolLookupByKey
",
"
StoragePoolGetInfo
",
"
StorageVolCreateXMLFrom
",
"
StoragePoolLookupByName
",
"
NodeListDevices
",
"
NodeGetCellsFreeMemory
",
"
ListDefinedNetworks
",
"
DomainXMLToNative
",
"
StoragePoolListVolumes
",
"
SecretDefineXML
",
"
ListDomains
",
"
ListStoragePools
",
"
NetworkGetAutostart
",
"
StoragePoolLookupByVolume
",
"
StoragePoolGetAutostart
",
"
SecretSetValue
",
"
StoragePoolDefineXML
",
"
NodeGetInfo
",
"
GetURI
",
"
InterfaceLookupByMACString
",
"
ListInterfaces
",
"
NetworkDefineXML
",
"
NetworkLookupByName
",
"
ListDefinedStoragePools
",
"
NodeDeviceDettach
",
"
NodeDeviceLookupByName
",
"
NodeGetFreeMemory
",
"
ListNetworks
",
"
NodeDeviceListCaps
",
"
NodeDeviceReset
",
"
NetworkLookupByUUID
",
"
NodeDeviceReAttach
",
"
ListSecrets
",
...
...
@@ -892,7 +854,9 @@ elsif ($opt_k) {
my
$has_node_device
=
0
;
# node device is special
if
(
$call
->
{
args
}
=~
m/^remote_node_/
)
{
if
(
$call
->
{
args
}
=~
m/^remote_node_/
and
!
(
$call
->
{
args
}
=~
m/^remote_node_device_lookup_by_name_/
)
and
!
(
$call
->
{
args
}
=~
m/^remote_node_device_create_xml_/
))
{
$has_node_device
=
1
;
$priv_name
=
"
devMonPrivateData
";
}
...
...
@@ -904,13 +868,14 @@ elsif ($opt_k) {
push
(
@setters_list
,
"
args.name = dev->name;
");
}
elsif
(
$args_member
=~
m/^remote_nonnull_(domain|network|storage_pool|storage_vol|interface|secret|nwfilter|domain_snapshot) (\S+);/
)
{
my
$name
=
$
1
;
my
$arg_name
=
$
2
;
my
$type_name
=
name_to_ProcName
(
$name
);
if
(
$is_first_arg
)
{
if
(
$name
eq
"
domain_snapshot
")
{
$priv_src
=
"
$
2
->domain->conn
";
$priv_src
=
"
$
arg_name
->domain->conn
";
}
else
{
$priv_src
=
"
$
2
->conn
";
$priv_src
=
"
$
arg_name
->conn
";
}
if
(
$name
=~
m/^storage_/
)
{
...
...
@@ -920,8 +885,11 @@ elsif ($opt_k) {
}
}
push
(
@args_list
,
"
vir
${type_name}
Ptr $2
");
push
(
@setters_list
,
"
make_nonnull_$1(&args.$2, $2);
");
push
(
@args_list
,
"
vir
${type_name}
Ptr
$arg_name
");
push
(
@setters_list
,
"
make_nonnull_$1(&args.
$arg_name
,
$arg_name
);
");
}
elsif
(
$args_member
=~
m/^remote_uuid (\S+);/
)
{
push
(
@args_list
,
"
const unsigned char *$1
");
push
(
@setters_list
,
"
memcpy(args.$1, $1, VIR_UUID_BUFLEN);
");
}
elsif
(
$args_member
=~
m/^remote_string (\S+);/
)
{
push
(
@args_list
,
"
const char *$1
");
push
(
@setters_list
,
"
args.$1 = $1 ? (char **)&$1 : NULL;
");
...
...
@@ -991,14 +959,42 @@ elsif ($opt_k) {
push
(
@ret_list
,
"
rv = ret.$1;
");
$single_ret_var
=
"
char *rv = NULL
";
$single_ret_type
=
"
char *
";
}
elsif
(
$ret_member
=~
m/remote_nonnull_(domain|network|storage_pool|storage_vol|node_device|interface|secret|nwfilter|domain_snapshot) (\S+);/
)
{
my
$name
=
$
1
;
my
$arg_name
=
$
2
;
my
$type_name
=
name_to_ProcName
(
$name
);
if
(
$name
eq
"
node_device
")
{
$priv_name
=
"
devMonPrivateData
";
}
elsif
(
$name
=~
m/^storage_/
)
{
$priv_name
=
"
storagePrivateData
";
}
elsif
(
!
(
$name
=~
m/^domain/
))
{
$priv_name
=
"
${name}
PrivateData
";
}
if
(
$name
eq
"
domain_snapshot
")
{
push
(
@ret_list
,
"
rv = get_nonnull_
$name
(dom, ret.
$arg_name
);
");
}
else
{
push
(
@ret_list
,
"
rv = get_nonnull_
$name
(
$priv_src
, ret.
$arg_name
);
");
}
push
(
@ret_list
,
"
xdr_free((xdrproc_t)xdr_
$call
->{ret}, (char *)&ret);
");
$single_ret_var
=
"
vir
${type_name}
Ptr rv = NULL
";
$single_ret_type
=
"
vir
${type_name}
Ptr
";
}
elsif
(
$ret_member
=~
m/^int (\S+);/
)
{
push
(
@ret_list
,
"
rv = ret.$1;
");
$single_ret_var
=
"
int rv = -1
";
$single_ret_type
=
"
int
";
}
elsif
(
$ret_member
=~
m/hyper (\S+);/
)
{
push
(
@ret_list
,
"
rv = ret.$1;
");
$single_ret_var
=
"
unsigned long rv = 0
";
$single_ret_type
=
"
unsigned long
";
if
(
$call
->
{
ProcName
}
eq
"
NodeGetFreeMemory
")
{
$single_ret_var
=
"
unsigned long long rv = 0
";
$single_ret_type
=
"
unsigned long long
";
}
else
{
$single_ret_var
=
"
unsigned long rv = 0
";
$single_ret_type
=
"
unsigned long
";
}
}
else
{
die
"
unhandled type for return value:
$ret_member
";
}
...
...
src/remote/remote_client_bodies.c
浏览文件 @
a1c891ec
此差异已折叠。
点击以展开。
src/remote/remote_driver.c
浏览文件 @
a1c891ec
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录