After door is opened by normal open() call all further access to it is through special ioctl() commands and, of course, ultimate explicit or implicit close().
Table 2-1. Doors ioctl() commands
Name | Synopsis | Description |
---|---|---|
DOOR_INIT |
| initialize door: set up number and type of arguments passed by clients, signal notification, bootstrap stacks etc. Called by server process to set door up. |
DOOR_EXIT |
| terminate active door invocation for the current process and return into caller VM with given return code. This is caller by server code when door execution is completed. |
DOOR_ENTER |
| start door invocation. Pass arguments to the server. This is called by client. |
DOOR_ARGS |
| called by server code after thread switched from the bootstrap stack to the per-invocation stack. Kernel fills passed structure with arguments provided by the client. |