Opens a generic data link control (GDLC) channel.
The dlcopen entry point is called when a user's application program invokes the open or openx subroutine, or when a kernel user calls the fp_open kernel service. The GDLC device manager opens the specified communications device handler and creates a kernel process to catch posted events from that port. Additional opens to the same port share both the device handler open and the GDLC kernel process created on the original open.
Each GDLC supports the dlcopen entry point as its switch table entry for the open and openx subroutines. The file system calls this entry point from the process environment only.
Item | Description |
---|---|
devno | Indicates major and minor device numbers. This is a dev_t device number that specifies both the major and minor device numbers of the GDLC device manager. One dev_t device number exists for each type of GDLC, such as Ethernet, Token-Ring, or SDLC. |
devflag | Specifies the flag word with the following flags defined:
|
chan | Specifies the channel ID assigned by GDLC in the dlcmpx routine. |
ext | Specifies the extended subroutine parameter. This is a pointer to the dlc_open_ext extended I/O structure for the open subroutine. |
The following return values are defined in the /usr/include/sys/errno.h file.
Value | Description |
---|---|
0 | Indicates a successful operation. |
ECHILD | Indicates that the device manager cannot create a kernel process. |
EINVAL | Indicates an invalid value. |
ENODEV | Indicates that no such device handler is present. |
ENOMEM | Indicates insufficient resources to satisfy the open subroutine. |
EFAULT | Indicates that a kernel service, such as the copyin or initp kernel service was unsuccessful. |