clone(7) Miscellaneous Information Manual clone(7)
NAME
clone - opens a major and minor device pair on a STREAMS driver
DESCRIPTION
The driver is a "pass through" device driver that allows other drivers to select unique minor device numbers on each In effect, the driver
passes an open operation through to the other driver. This mechanism allows for multiple instantiations of a driver, each with a different
minor number, through a single device file.
When the driver is opened, it is passed a major and minor device number by the operating system. The major number is the driver's major
number (72), and the minor number is the major number of the driver the user wishes to clone (referred to here as the target driver). The
driver calls the open routine of the target driver with the flag which specifies a clone open. The target driver's open routine allocates
an unused minor number. The target driver must use to make a new device number for the newly created device, and must set to the new
device number returned by The new device number is returned to the open through The open then returns to the user a file descriptor that
points to the new instantiation of the target driver.
The driver is an example of a clonable driver.
Notes
It is not possible to do multiple opens of a device with the same major and minor number using the driver. This is because the driver is
only given the major number of the driver to be cloned, and that driver will then select a minor number which has not been opened.
When called with a pathname which corresponds to the clonable driver, will return different results than when it is called on a file
descriptor returned from of the same clonable driver pathname.
RETURN VALUES
If the driver is given an invalid minor number, or if the driver indicated is not a clonable driver, the fails and is set to [ENXIO].
SEE ALSO
open(2), fstat(2).
clone(7)