Binary Compatibility Guide

System Files

Many system files have been renamed or moved in the Solaris 2.x release. Some do not exist in this release and others have a different format. Whenever possible, the Binary Compatibility Package addresses this problem by creating symbolic links, installing new files, or mapping the data.


Note -

A portable program should avoid using system-dependent files. If a program must access such files, then it must do so using the standard interface routines provided. For example, rather than opening and reading the /etc/mtab file directly, the program should use the getmnt() family of routines to access the contents of the mtab file.


Accounting Files

Accounting files in the Solaris 2.x release have different formats than those in SunOS 4.x. An application accessing an accounting file will not be binary compatible.

/etc/exports /etc/xtab

Exporting system files in the Solaris 2.x release is handled very differently than it was in SunOS 4.x. Binary compatibility cannot be provided for these files. This should not be a problem since user applications are not expected to access these files.

/etc/fstab /etc/mtab

The name and format of these files have changed. The Binary Compatibility Package performs the mappings needed to give applications read-only access to these files. Applications requiring write access to these files are not binary compatible. Applications are not expected to write to these files.


Note -

Symbolic links to these files are no longer supported. This is, if an application creates a link to /etc/fstab or /etc/mtab, and attempts to open the symbolic link, the open call fails.


/etc/gettytab

This file has no direct equivalent in the Solaris 2.x release and is not be provided as part of this package. Applications using this file will not be binary compatible.

/etc/passwd

In the Solaris 2.x release, the actual passwords are kept in a shadow file. Applications accessing the passwd file to obtain a password will not be binary compatible. All applications should access this file through the getpw() interface routines.

/etc/printcap

The printcap of SunOS 4.x is replaced by a directory tree in SunOS 5.x. The Binary Compatibility Package provides applications read-only access to the equivalent data for the host on which the application is executed. Write access to printcap is not supported.

/etc/ttys

This file was obsoleted in SunOS 4.x. Because the utmp file format and access mechanism are very different, programs depending on the relationship between /etc/ttys and the utmp file will not work on the Solaris 2.x release. Use ttyslot for dynamically linked applications (will not work for statically linked applications).

/etc/ttytab

This file in SunOS 4.x replaced /etc/ttys. Obsolete in SunOS 5.x. No compatibility provided.

/etc/utmp /var/adm/wtmp

These files hold user and accounting information for commands such as who, write, and login. In Solaris 2.x, each of these files has been replaced with a pair of files: /etc/utmp has been replaced with /var/adm/utmp and /var/adm/utmpx, and /var/adm/wtmp with /var/adm/wtmp and /var/adm/wtmpx. When an application opens one of these files, it receives the concatenation of its two new counterparts.


Note -

Symbolic links to these files are no longer supported. This is, if an application creates a link to /etc/utmp or /var/adm/wtmp, and attempts to open the symbolic link, the open call fails.