clone(7)clone(7)NAMEclone - opens a major and minor device pair on a STREAMS driver
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 speci‐
fies 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.
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 descrip‐
tor returned from of the same clonable driver pathname.
If the driver is given an invalid minor number, or if the driver indi‐
cated is not a clonable driver, the fails and is set to [ENXIO].
SEE ALSOopen(2), fstat(2).