29 lines
565 B
C
29 lines
565 B
C
|
|
||
|
#include "syslib.h"
|
||
|
#include "sysutil.h"
|
||
|
|
||
|
int sys_diagctl(int code, char *arg1, int arg2)
|
||
|
{
|
||
|
message m;
|
||
|
|
||
|
m.m_lsys_krn_sys_diagctl.code = code;
|
||
|
|
||
|
switch(code) {
|
||
|
case DIAGCTL_CODE_DIAG:
|
||
|
m.m_lsys_krn_sys_diagctl.buf = (vir_bytes)arg1;
|
||
|
m.m_lsys_krn_sys_diagctl.len = arg2;
|
||
|
break;
|
||
|
case DIAGCTL_CODE_STACKTRACE:
|
||
|
m.m_lsys_krn_sys_diagctl.endpt = (endpoint_t)arg2;
|
||
|
break;
|
||
|
case DIAGCTL_CODE_REGISTER:
|
||
|
break;
|
||
|
case DIAGCTL_CODE_UNREGISTER:
|
||
|
break;
|
||
|
default:
|
||
|
panic("Unknown SYS_DIAGCTL request %d\n", code);
|
||
|
}
|
||
|
|
||
|
return(_kernel_call(SYS_DIAGCTL, &m));
|
||
|
}
|