Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
3a1dca94
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3a1dca94
编写于
7月 12, 2011
作者:
G
Gerd Hoffmann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add iov_hexdump()
Useful for debugging purposes. Signed-off-by:
N
Gerd Hoffmann
<
kraxel@redhat.com
>
上级
fa57ee8e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
33 addition
and
0 deletion
+33
-0
iov.c
iov.c
+31
-0
iov.h
iov.h
+2
-0
未找到文件。
iov.c
浏览文件 @
3a1dca94
...
...
@@ -73,3 +73,34 @@ size_t iov_size(const struct iovec *iov, const unsigned int iov_cnt)
}
return
len
;
}
void
iov_hexdump
(
const
struct
iovec
*
iov
,
const
unsigned
int
iov_cnt
,
FILE
*
fp
,
const
char
*
prefix
,
size_t
limit
)
{
unsigned
int
i
,
v
,
b
;
uint8_t
*
c
;
c
=
iov
[
0
].
iov_base
;
for
(
i
=
0
,
v
=
0
,
b
=
0
;
b
<
limit
;
i
++
,
b
++
)
{
if
(
i
==
iov
[
v
].
iov_len
)
{
i
=
0
;
v
++
;
if
(
v
==
iov_cnt
)
{
break
;
}
c
=
iov
[
v
].
iov_base
;
}
if
((
b
%
16
)
==
0
)
{
fprintf
(
fp
,
"%s: %04x:"
,
prefix
,
b
);
}
if
((
b
%
4
)
==
0
)
{
fprintf
(
fp
,
" "
);
}
fprintf
(
fp
,
" %02x"
,
c
[
i
]);
if
((
b
%
16
)
==
15
)
{
fprintf
(
fp
,
"
\n
"
);
}
}
if
((
b
%
16
)
!=
0
)
{
fprintf
(
fp
,
"
\n
"
);
}
}
iov.h
浏览文件 @
3a1dca94
...
...
@@ -17,3 +17,5 @@ size_t iov_from_buf(struct iovec *iov, unsigned int iov_cnt,
size_t
iov_to_buf
(
const
struct
iovec
*
iov
,
const
unsigned
int
iov_cnt
,
void
*
buf
,
size_t
iov_off
,
size_t
size
);
size_t
iov_size
(
const
struct
iovec
*
iov
,
const
unsigned
int
iov_cnt
);
void
iov_hexdump
(
const
struct
iovec
*
iov
,
const
unsigned
int
iov_cnt
,
FILE
*
fp
,
const
char
*
prefix
,
size_t
limit
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录