Skip to content

Commit 9481ba4

Browse files
committed
Refactored uio
1 parent a6a18c8 commit 9481ba4

File tree

1 file changed

+14
-27
lines changed

1 file changed

+14
-27
lines changed

qiling/os/posix/syscall/uio.py

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,53 +3,40 @@
33
# Cross Platform and Multi Architecture Advanced Binary Emulation Framework
44
#
55

6+
from qiling import Qiling
67

7-
from qiling.const import *
8-
from qiling.os.linux.thread import *
9-
from qiling.const import *
10-
from qiling.os.posix.filestruct import *
11-
from qiling.os.filestruct import *
12-
from qiling.os.posix.const_mapping import *
13-
from qiling.exception import *
14-
15-
def ql_syscall_writev(ql, writev_fd, writev_vec, writev_vien, *args, **kw):
8+
def ql_syscall_writev(ql: Qiling, fd: int, vec: int, vlen: int):
169
regreturn = 0
1710
size_t_len = ql.pointersize
18-
iov = ql.mem.read(writev_vec, writev_vien * size_t_len * 2)
19-
ql.log.debug("writev() CONTENT:")
11+
iov = ql.mem.read(vec, vlen * size_t_len * 2)
12+
ql.log.debug('writev() CONTENT:')
2013

21-
for i in range(writev_vien):
14+
for i in range(vlen):
2215
addr = ql.unpack(iov[i * size_t_len * 2 : i * size_t_len * 2 + size_t_len])
2316
l = ql.unpack(iov[i * size_t_len * 2 + size_t_len : i * size_t_len * 2 + size_t_len * 2])
2417
regreturn += l
18+
2519
buf = ql.mem.read(addr, l)
2620
ql.log.debug(buf)
2721

28-
if hasattr(ql.os.fd[writev_fd], "write"):
29-
ql.os.fd[writev_fd].write(buf)
22+
if hasattr(ql.os.fd[fd], 'write'):
23+
ql.os.fd[fd].write(buf)
3024

3125
return regreturn
3226

3327

34-
def ql_syscall_readv(ql, fd, vec, vlen, *args, **kw):
28+
def ql_syscall_readv(ql: Qiling, fd: int, vec: int, vlen: int):
3529
regreturn = 0
3630
size_t_len = ql.pointersize
3731
iov = ql.mem.read(vec, vlen * size_t_len * 2)
38-
ql.log.debug("readv() CONTENT:")
32+
ql.log.debug('readv() CONTENT:')
3933

4034
for i in range(vlen):
41-
addr = ql.unpack(
42-
iov[i * size_t_len * 2 : i * size_t_len * 2 + size_t_len]
43-
)
44-
l = ql.unpack(
45-
iov[
46-
i * size_t_len * 2
47-
+ size_t_len : i * size_t_len * 2
48-
+ size_t_len * 2
49-
]
50-
)
35+
addr = ql.unpack(iov[i * size_t_len * 2 : i * size_t_len * 2 + size_t_len])
36+
l = ql.unpack(iov[i * size_t_len * 2 + size_t_len : i * size_t_len * 2 + size_t_len * 2])
5137
regreturn += l
52-
if hasattr(ql.os.fd[fd], "read"):
38+
39+
if hasattr(ql.os.fd[fd], 'read'):
5340
data = ql.os.fd[fd].read(l)
5441
ql.log.debug(data)
5542
ql.mem.write(addr, data)

0 commit comments

Comments
 (0)