[ Home | Plans | Meetings | Members | Search | Papers | Links | CyberWear | LocoSoft]
The device manager operates three sockets on which processes may connect. These sockets all have known addresses. That is that the address of each of the three sockets is assumed to be known by all processes that are interested in using device manager functions.
Each of the three sockets have the following functionality
Simple ASCII based protocols are used to communicate over the sockets, although usually it will not be required of a software developer to get to this level as the API's hide these details.
|The protocol for registration is very simple. ASCII
verbs are used to specify the required actions, and responses start with a plus or minus
sign to indicate sucess or failure respectively. Requests and responses are
terminated with newline characters, and spaces serve to delimit the data.
The flow diagram to the right shows how processes may register with the device manager.
After the first time that a device driver registers it's name, a unique handle is returned to the driver that must then be used for all subsequent accessing of the device manager. This approach helps to eliminate problems that might arise if non-unique device names were used to identify each device driver. There is still however the problem that the socket name must be unique (although UNIX will cause a 'address already in use' error if you attempt to make a socket with a name that already exists.) but this is not such a problem as the socket names could be randomly made, as for temporary files.
The material displayed is provided 'as is' and is subject to use restrictions.
For problems or questions regarding this web contact Cliff Randell.
Last updated: January 14, 2000.
ęCopyright Hewlett-Packard 1997-2000.