VMS Help
System Services, $CMKRNL
*Conan The Librarian
|
Changes the access mode of the calling process to kernel mode.
This service allows a process to change its access mode to
kernel, execute a specified routine, and then return to the
access mode in effect before the call was issued.
Format
SYS$CMKRNL routin ,[arglst]
C Prototype
int sys$cmkrnl (int (*routin)(__unknown_params), unsigned int
*arglst);
routin
OpenVMS usage:procedure
type: procedure value
access: call without stack unwinding
mechanism: by reference
Routine to be executed while the process is in kernel mode. The
routin argument is the address of this routine.
arglst
OpenVMS usage:arg_list
type: longword (unsigned)
access: read only
mechanism: by reference
Argument list to be passed to the routine specified by the routin
argument. The arglst argument is the address of this argument
list.
If the arglst value is nonzero and is not accessible as an
address or if the routine is inaccessible, the service returns
SS$_ACCVIO.
Alpha systems require a pointer to a valid argument list or a
value of 0 in the arglst argument. This means that the arglst
argument must contain an accessible virtual address for an
argument list, the first longword of which must be a valid list
size.