[Introduction] devnode is a translator that creates the device file for the kernel device. It provides another way for other programs to open the kernel device. The device file should be created in /dev with the device name as its file name, so clients can find the device file easily. Clients need to get the port to the devnode translator by calling file_name_lookup() and uses this port as a master device port to open the device by calling device_open(). The device name used in device_open() is specified by '-n' option of devnode. [Usage] Usage: devnode [OPTION...] device Hurd devnode translator. -n, --name=DEVICENAME Accept open from clients only with DEVICENAME -M, --master_device=FILE Get a pseudo master device port -?, --help Give this help list --usage Give a short usage message -V, --version Print program version The '-n' option specifies the device name used by clients in device_open(). It can be optional. If it's specified, clients must use the name to open the device. Otherwise, every device name used by clients in device_open() is acceptable. The '-M' option specifies the file where devnode can get the master device port. This option can be useful to open the virtual interface created by eth-multiplexer, for example. [Internal] devnode is very simple. It implements the server side functions in device.defs, so it can receive the request of opening a device from clients. Only ds_device_open is actually implemented, which opens the device and returns the port to the device. Normally, devnode shouldn't get other requests.