系统调用相关处理函数,包括系统调用、参数获取等
More...
系统调用相关处理函数,包括系统调用、参数获取等
- Date
- 23.05.01
- Author
- xin
- Version
- 0.1 @status Stable
◆ argaddr()
void argaddr |
( |
int |
n, |
|
|
uint64 * |
ip |
|
) |
| |
获取一个指针参数(不检查其合法性,后续过程中会检查)
- Parameters
-
◆ argint()
void argint |
( |
int |
n, |
|
|
int * |
ip |
|
) |
| |
获取int类型的系统调用参数
- Parameters
-
◆ argstr()
int argstr |
( |
int |
n, |
|
|
char * |
buf, |
|
|
int |
max |
|
) |
| |
获取一个str类型的'\0'结尾的系统调用参数,
- Parameters
-
n | 第n个参数 |
buf | 存放参数的指针 |
max | 字符串最大长度 |
- Returns
- 获取的字符串参数长度,若出现错误则返回-1
◆ fetchaddr()
从当前进程获取位于addr的64位整数(即地址)
- Parameters
-
addr | 要获取的64位整数的地址 |
ip | 存放64位整数的指针 |
- Returns
- 0:成功 1:失败
◆ fetchstr()
int fetchstr |
( |
uint64 |
addr, |
|
|
char * |
buf, |
|
|
int |
max |
|
) |
| |
从当前进程获取位于addr的以'\0'结尾的字符串
- Parameters
-
addr | 要获取的字符串地址 |
buf | 存放字符串的指针 |
max | 获取的字符串最大长度 |
- Returns
- 获取的字符串长度,若出现错误返回-1
◆ sys_exec()
exec系统调用,携带trapframe中的参数执行参数中的文件
- Returns
- 返回exec返回的参数个数,若出现错误返回-1
◆ sys_write()
write系统调用
- Returns
- 写入文件字节数,若失败返回-1
◆ syscall()