Chapter 2. Design

Table of Contents
Representation
Invocation
Manipulation

This chapter describes main features of LDoors.

Representation

In Solaris door is represented by STREAM file descriptor, created by door_create() and later attached to the file-system. LDoors represents door as character device with specific major number (currently 60). This way, LDoors can be implemented as loadable device driver without interfering with the rest of the kernel. Another possible solutions are:

It should be noted that implementing doors as character devices requires door creator process to have CAP_MKNOD capability. One can think of either

In Linux minor and major numbers fully specify device, but we don't want to be limited to 255 doors in a system. Minor number of door doesn't matter. In stead doors, possibly all sharing the same major and minor number, are identified by dentry structure associated with file structure created when the door is opened for the first time.