Solaris Transition Guide

ioctl() Requests

All ioctls related to dkio(7I), filio, mtio(7I), sockio(7I), streamio(7I), termio(7I), and termios(7I) are supported in this release.

A few incompatibilities exist between the SunOS release 4 termios structure and Solaris 7 termios structure. For example, the Solaris 7 termios structure does not include a c_line field.

The following ioctls requests, defined in <sys/ttold.h>, are not implemented in this release.

The following ttycom ioctl requests are not in the Solaris 7 operating environment.

Table 16-1 shows the ioctls supported in the Solaris 7 operating environment.

Table 16-1 ioctl() Support

ioctl()

Description 

DKIOCGPART

These requests are replaced with DKIOCGAPART and DKIOCSAPART in Solaris 7 software.

DKIOCGCONF

This request is replaced with DKIOCINFO in Solaris 7 software, which includes the combined information of the SunOS release 4 DKIOCGCONF and DKIOCINFO structures.

DKIOCSCMD

This request succeeds only for IPI drives. This ioctl fails for SCSI devices. Use the USCSI ioctl for SCSI devices.

DKIOCGLOG

EINVAL is returned. DKIOCWCHK toggles the write check on the diskette drive.

filio

The following filio ioctl requests are not supported in this release or SVR4: FIOSETOWN, FIOGETOWN, FIOCLEX, FIONCLEX. filio ioctl requests are not defined in the ABI or SVID.

mtio

Not all devices support all mtio ioctl requests in Solaris 7. See the mtio(7) man pages.

sockio

The following sockio ioctl requests are implemented in SVR4 and Solaris 7 software: SIOCSPGRP, SIOCGPGRP, SIOCATMARK. sockio ioctl requests are not defined in the ABI or SVID.

streamio

All SunOS release 4 streamio ioctl requests are implemented in Solaris 7 software, the ABI, SVID, and SVR4. The I_FDINSERT request requires an argument that points to a strfdinsert structure. The SunOS release 4 strfdinsert structure includes an fd (int) field, while the ABI, SVID, or SVR4 strfdinsert structure includes a fildes (int) field instead.

audioio

The SunOS release 4 <sun/audioio.h> file has been moved to <sys/audioio.h> for Solaris 7 software. Additionally, in Solaris 7 software, there are enhancements to the interface. See the audio(7), audioamd(7), or dbri(7) man pages for more information.

termio, termios

All SunOS release 4 termio and termios ioctl requests are implemented in Solaris 7 software, the ABI, SVID, and SVR4. There are a few incompatibilities between the SunOS release 4 termios structure and Solaris 7 software, or the ABI, SVID, or SVR4 termios structure. The SunOS release 4 termios structure includes a c_line field that is not supported by the other releases. The c_cflag (hardware control of the terminal) can have CRTSCTS (enable RTS/CTS flow control) under the SunOS release 4 software, but this value is not defined in the Solaris 7 software, the ABI, SVID, or SVR4. However, the functionality is supported through the termiox(7) interface.