clone(M)


clone -- open any minor device on a STREAMS driver

Description


NOTE: The interfaces described on this manual page are supported for compatibility with applications written for previous releases only. New applications should use the interfaces described on the clone(HW) manual page.

clone is a STREAMS software driver that finds and opens an unused minor device on another STREAMS driver. The minor device passed to clone during the open is interpreted as the major device number of another STREAMS driver for which an unused minor device is to be obtained. Each such open results in a separate stream to a previously unused minor device.

The clone driver consists solely of an open function. This open function performs all of the necessary work so that subsequent system calls (including close(S)) require no further involvement of clone.

clone will generate an ENXIO error, without opening the device, if the minor device number provided does not correspond to a valid major device, or if the driver indicated is not a STREAMS driver.

clone will generate an ENODEV error, without opening the device, if a pipe cannot be created.

Limitations

Multiple opens of the same minor device cannot be done through the clone interface. Executing stat(S) on the file system node for a cloned device yields a different result from executing stat using a file descriptor obtained from opening the node.

See also

log(M), pipe(ADM), pipe(S)

AT&T STREAMS Programmer's Guide


© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 03 June 2005