This appendix contains the System Calls reference table.This table lists all SunOS release 4.x, and shows their status in the following environments: Solaris 2.6, the ABI, the SVID, SVR4, and the SunOS/BSD Source Compatibility Package.
If an interface is listed as "changed" (C), a brief description of differences between the SunOS release 4.x system call and the Solaris 2.6 system call is provided.
If an interface is listed as "the same" (S), the Solaris 2.6 interface will support all features of the SunOS release 4.x interface. In some cases the interface has been enhanced, but can be considered a complete superset of the SunOS release 4.x interface. Note that many system calls are now available as library routines. The Notes column will show the new routine man page reference.
If an interface has an "alternative" (A), check the Notes section for its replacement.
If an interface is listed as "not available" (N), you cannot use that interface.
If the interface includes errno values that are not supported in the standard, it is indicated with "#". errno differences do not necessarily break compatibility. Note that although EDQUOT, EFAULT, and EIO are often not listed with ABI or SVID, these errno values are supported by an ABI or SVID compliant system if appropriate.
The SunOS release 4.x software offers a System V Software installation option that provides System V compatible versions of many utilities, system calls, and library routines. The System V interfaces are included in the following tables. When referring to the System V version of a SunOS release 4.x interface, the string SysV is appended to the interface.
For complete information on all Solaris 2.6 interfaces, see the man Pages(2): System Calls.
System Calls are functions. Functions in this appendix are identified by an empty set of parentheses immediately following the function name. When you see a second set of parentheses containing a number, this nomenclature identifies the associated man page section.
Below are sample table entries followed by an interpretation of the table entry.
SunOS release 4.x System Call |
SunOS release 5.6 Status |
Alternative Available and Notes |
ABI |
SVID |
SVR4 |
BSD |
---|---|---|---|---|---|---|
mctl()(2) |
A |
The memcntl()(2) system call provides similar functionality. |
A |
A |
A |
S |
The mctl()() system call is not available in the ABI, SVID, SVR4, or the SunOS release 5.6 software. Any applications that use this system call should be rewritten to use the memcntl()() call. A version of mctl()() is available with the SunOS/BSD Compatibility package, but applications that use it will not be compatible with other SVR4 systems.
SunOS release 4.x System Call |
SunOS release 5.6 Status |
Alternative Available and Notes |
ABI |
SVID |
SVR4 |
BSD |
---|---|---|---|---|---|---|
getsockname()(2) |
S# |
The errno value ENOBUFS used by the SunOS release 4.x getsockname()() system call has been changed to ENOSR in the SVR4 and SunOS release 5.6 version. |
N |
N |
S# |
N |
The getsockname()() system call is not defined in the ABI, or SVID. The getsockname()() call in SunOS release 5.6 and SVR4 releases is the same as the one in the SunOS release 4.x software, except the SunOS release 5.6 software sets errno to ENOSR for the error condition that previously would have set errno to ENOBUFS.
SunOS Release 4.x System Call |
SunOS release 5.6 Status |
Notes |
ABI |
SVID |
SVR4 |
BSD |
---|---|---|---|---|---|---|
C |
The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in the SVR4 and SunOS release 5.6 versions. |
N |
N |
S |
S |
|
C |
The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in the SVR4 and SunOS release 5.6 versions. |
N |
N |
C |
S |
|
C |
The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in the SVR4 and SunOS release 5.6 versions. |
N |
N |
C |
S |
|
C |
The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in the SVR4 and SunOS release 5.6 versions. |
N |
N |
C |
S |
|
C |
The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in the SVR4 and SunOS release 5.6 versions. |
N |
N |
C |
S |
|
C |
The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in the SVR4 and SunOS release 5.6 versions. |
N |
N |
C |
S |
|
S |
|
S |
S |
S |
N |
|
S |
Now accept()(3N). |
N |
N |
S |
N |
|
S |
|
S |
S |
S |
N |
|
C# |
The following symbolic names are valid for the acct structure member ac_flag (defined in <sys/acct.h>) for SunOS release 4.x version, but not for SunOS release 5.6, ABI, SVID, and SVR4 versions: ACOMPAT, ACORE, AXSIG. Also, the accounting record format differs between SunOS release 4.x and SunOS release 5.6, ABI, SVID, and SVR4 versions. |
C# |
C# |
C# |
N |
|
S |
|
N |
S |
S |
N |
|
N |
|
N |
N |
N |
N |
|
N |
|
N |
N |
N |
N |
|
N |
|
N |
N |
N |
N |
|
N |
|
N |
N |
N |
N |
|
S |
Now bind()(3N). |
N |
N |
S |
N |
|
S |
|
N |
N |
S |
N |
|
S |
|
S |
S |
S |
N |
|
C# |
The following symbolic access modes (<sys/stat.h>) are supported by SunOS release 4.x chmod() function but not by SunOS release 5.6, ABI, SVID, or SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent SunOS release 5.6, ABI, SVID, or SVR4 symbolic access modes S_IRUSR (00400), S_IWUSR (00200) and S_IXUSR (00100) have the same meanings. |
C# |
C# |
C# |
N |
|
C |
In the SunOS release 4.x version, the owner and group arguments of chown()() are of type int. In the SunOS release 5.6 software, ABI, SVID, and SVR4, owner is of type uid_t, and group is of type gid_t. In the SunOS release 4.x version, if the final component of path is a symbolic link, the ownership of the symbolic link was changed. In the SunOS release 5.6 version, chown()() changes the ownership of the file or directory referred to by the symbolic link. Use lchown()(2) to change the ownership of a symbolic link. |
C |
C |
C |
N |
|
chown()(2V) -- SysV |
S |
|
S |
S |
S |
N |
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S# |
Now connect()(3N). |
N |
N |
S# |
N |
|
C# |
In the SunOS release 4.x software, the mode argument to creat()() is of type int, while in SunOS release 5.6, ABI, SVID, and SVR4 versions, the mode argument is of type mode_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <fcntl.h> while the SunOS release 4.x version does not. The following symbolic access modes (<sys/stat.h>) are supported by SunOS release 4.x version of creat()(), but not by SunOS release 5.6, ABI, SVID, or SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent SunOS release 5.6, ABI, SVID, and SVR4 symbolic access modes S_IRUSR (00400), S_IWUSR (00200), and S_IXUSR (00100) do have the same definitions, are defined in SunOS release 4.x <sys/stat.h>, and thus should be used. The following errno flags are valid for the SunOS release 4.x version of this system call but are not valid in SunOS release 5.6, ABI, SVID, or SVR4 versions: ENXIO, EOPNOTSUPP. |
C# |
C# |
C# |
N |
|
creat()(2V) -- SysV |
C# |
The following symbolic access modes (<sys/stat.h>) are supported by the SunOS release 4.x version of creat()(), but not by SunOS release 5.6, ABI, SVID, or SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent SunOS release 5.6, ABI, SVID, and SVR4 symbolic access modes S_IRUSR (00400), S_IWUSR (00200), and S_IXUSR (00100) do have the same definitions, are defined in SunOS release 4.x <sys/stat.h>, and thus should be used. The following errno flags are valid for the SunOS release 4.x version of this system call but are not valid in SunOS release 5.6, ABI, SVID, or SVR4 versions: ENXIO, EOPNOTSUPP. |
C# |
C# |
C# |
N |
S |
|
S |
S |
S |
N |
|
S |
Now dup2()(3C). |
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
C |
The following symbolic access modes (<sys/stat.h>) are supported by the SunOS release 4.x version of fchmod()(), but not by SunOS release 5.6, ABI, SVID, or SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent SunOS release 5.6, ABI, SVID, and SVR4 symbolic access modes S_IRUSR (00400), S_IWUSR (00200), and S_IXUSR (00100) do have the same definitions, are defined in SunOS release 4.x <sys/stat.h>, and thus should be used. |
C |
C |
C |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
N |
N |
N |
N |
|
C |
In SunOS release 4.x, the following flags are valid for the F_SETFL command: -O_APPEND, -O_SYNC, and -O_NDELAY, and the -FSYNC, -FNDELAY, and -FNBIO flags defined in <sys/file.h>. SunOS release 5.6, ABI, SVID, and SVR4 versions support only the -O_APPEND, -O_SYNC, -O_NDELAY, and -O_NONBLOCK flags. Thus, -O_SYNC should be used in place of -FSYNC, and -O_NONBLOCK should be used in place of -FNDELAY and -FNBIO. -O_NONBLOCK should also be used in place of -O_NDELAY, which is being phased out. SunOS release 4.x F_GETOWN and F_SETOWN commands are not supported in SunOS release 5.6, ABI, SVID, or SVR4 versions. |
C |
C |
C |
N |
|
N |
|
N |
N |
N |
S |
|
C |
In the SunOS release 4.x software, fork()() returns a value of type int. In SunOS release 5.6, ABI, SVID, and SVR4 versions, fork()() returns a value of type pid_t. Also, SunOS release 5.6, ABI, SVID, or SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
fork()(2V) -- SysV |
S |
|
S |
S |
S |
N |
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
A |
The fstatvfs()(2) system call provides equivalent functionality. |
A |
A |
A |
S |
|
S |
|
S |
S |
S |
N |
|
S |
Now ftruncate()(3C). |
N |
N |
S |
N |
|
N |
|
N |
N |
N |
N |
|
S |
|
N |
N |
S |
N |
|
A |
The getdents()(2) system call provides equivalent functionality. |
N |
N |
N |
N |
|
A |
The sysinfo()(2) system call provides equivalent functionality. |
N |
N |
N |
N |
|
A |
Now getdtablesize()(3C). The getrlimit()(2) system call with the resource argument set to |
A |
A |
A |
S |
|
C |
In the SunOS release 4.x software, getegid()() returns a value of type int. In SunOS release 5.6, ABI, SVID, and SVR4 versions, getegid()() returns a value of type gid_t. Also, SunOS release 5.6, ABI, SVID, or SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
getegid()(2V) -- SysV |
S |
|
S |
S |
S |
N |
C |
In the SunOS release 4.x software, geteuid()() returns a value of type int. In SunOS release 5.6, ABI, SVID, and SVR4 versions, geteuid()() returns a value of type uid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
geteuid()(2V) -- SysV |
S |
|
S |
S |
S |
N |
C |
In the SunOS release 4.x software, getgid()() returns a value of type int. In SunOS release 5.6, ABI, SVID, and SVR4 versions, getgid()() returns a value of type gid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
getgid()(2V) -- SysV |
S |
|
S |
S |
S |
N |
C |
In the SunOS release 4.x software, the gidset argument to getgroups()() is of type int, while in SunOS release 5.6, ABI, SVID, and SVR4 versions, the grouplist argument is of type gid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
getgroups()(2V) -- SysV |
S |
|
S |
S |
S |
N |
A |
Now gethostid()(3C). The sysinfo()(2) system call
with the command argument set to |
N |
N |
N |
S |
|
A |
Now gethostname()(3C). The sysinfo()( |
N |
N |
N |
S |
|
S |
|
N |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
A |
Now getpagesize()(3C). The sysconf()(3C) routine provides similar functionality. |
A |
A |
A |
S |
|
S# |
Now getpeername()(3N). The following errno flag is valid for the SunOS release 4.x getpeername()() system call but is not valid in the SVR4 and SunOS release 5.6 version: ENOBUFS. |
N |
N |
S# |
N |
|
S |
|
S |
S |
S |
N |
|
C |
The SunOS release 4.x version of getpgrp()() has an argument pid, and getpgrp()() returns the process group of the process indicated by pid. SunOS release 5.6, ABI, SVID, and SVR4 versions of getpgrp()() do not accept an argument, and getpgrp()() returns the process group ID of the calling process. Also, SunOS release 4.x getpgrp()() returns a value of type int, while SunOS release 5.6, ABI, SVID, and SVR4 getpgrp()() returns a value of type pid_t. SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
getpgrp ()(2V) -- SysV |
S |
|
S |
S |
S |
N |
C |
In the SunOS release 4.x software, getpid()() returns a value of type int. SunOS release 5.6, ABI, SVID, and SVR4, getpid()() returns a value of type pid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
getpid()(2V) -- SysV |
S |
|
S |
S |
S |
N |
C |
In the SunOS release 4.x software, getppid()() returns a value of type int. SunOS release 5.6, ABI, SVID, and SVR4, getppid()() returns a value of type pid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
getppid()(2V) -- SysV |
S |
|
S |
S |
S |
N |
A |
Now getpriority()(3C). The priocntl()(2) system call provides similar functionality. |
A |
A |
A |
S |
|
C |
In SunOS release 4.x, |
C |
C |
C |
N |
|
A |
N |
N |
N |
C |
||
S# |
The errno value ENOBUFS used by the SunOS release 4.x getsockname()() system call has been changed to ENOSR in the SVR4 and SunOS release 5.6 version. |
N |
N |
S# |
N |
|
S |
Now getsockopt()(3N). |
N |
N |
S |
N |
|
S |
Now gettimeofday()(3C). |
N |
S |
S |
S |
|
C |
In the SunOS release 4.x software, getuid()() returns a value of type int. SunOS release 5.6, ABI, SVID, and SVR4 getuid()() returns a value of type uid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
getuid()(2V) -- SysV |
S |
|
S |
S |
S |
N |
C |
C |
C |
C |
N |
||
C |
In the SunOS release 4.x software, if a signal is sent to a group of processes (as with, if pid is 0 or negative), and if the process sending the signal is a member of that group, the signal is not sent to the sending process as well. In SunOS release 5.6, ABI, SVID, and SVR4 versions, the signal is sent to the sending process as well. In the SunOS release 4.x software, the pid argument is of type int, while in the SunOS release 5.6, ABI, SVID, and SVR4 versions, the pid argument is of type pid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
kill()(2V) -- SysV |
S |
|
S |
S |
S |
N |
A |
Now killpg()(3C). The kill()(2) system call provides similar functionality. Replace killpg()( pgrp, sig) with kill()(-pgrp, sig). |
A |
A |
A |
S |
|
C |
In the SunOS release 5.6, ABI, SVID, and SVR4 version of link()(), if the last component of the first argument is a symbolic link, it will not be followed and a hard link will be made to the symbolic link. |
C |
C |
C |
N |
|
S |
Now listen()(3N). |
N |
N |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
A |
The memcntl()(2) system call provides similar functionality. |
A |
A |
A |
S |
|
C |
In the SunOS release 4.x software, argument len is of type int, while in SVR4 and SunOS release 5.6 versions, argument len is of type size_t which is defined to be unsigned int. The SunOS release 5.6 version also requires inclusion of <unistd.h>. |
N |
N |
C |
N |
|
C |
In SunOS release 4.x, the mode argument is of type int, while in SunOS release 5.6, ABI, SVID, and SVR4, the mode argument is of type mode_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <sys/types.h> and <sys/stat.h> while the SunOS release 4.x version does not. The following symbolic access modes (<sys/stat.h>) are supported by the SunOS release 4.x version of mkdir()(), but not by SunOS release 5.6, ABI, SVID, and SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent SunOS release 5.6, ABI, SVID, and SVR4 symbolic access modes S_IRUSR (00400), S_IWUSR (00200), and S_IXUSR (00100) do have the same definitions, are defined in SunOS release 4.x <sys/stat.h>, and thus should be used. |
C |
C |
C |
N |
|
mkdir()(2V) -- SysV |
C |
The following symbolic access modes (<sys/stat.h>) are supported by the SunOS release 4.x version of mkdir()(), but not by SunOS release 5.6, ABI, SVID, and SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent SunOS release 5.6, ABI, SVID, and SVR4 symbolic access modes S_IRUSR (00400), S_IWUSR (00200), and S_IXUSR (00100) do have the same definitions, are defined in SunOS release 4.x <sys/stat.h>, and thus should be used. |
C |
C |
C |
N |
S |
Now mkfifo()(3C). |
S |
S |
S |
N |
|
C |
The mode argument to mknod()() is of type int in the SunOS release 4.x software and of type mode_t in SunOS release 5.6, ABI, SVID, and SVR4 versions. The dev argument is of type int in the SunOS release 4.x software and of type dev_t in the SunOS release 5.6, ABI, SVID, or SVR4 versions. The following symbolic access modes (<sys/stat.h>) are supported by the SunOS release 4.x version of mknod()(), but not by SunOS release 5.6, ABI, SVID, and SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent symbolic access modes S_IRUSR (00400), S_IWUSR (00200), and S_IXUSR (00100) do have the same definitions, are defined in SunOS release 4.x <sys/stat.h>, and thus should be used. |
C |
C |
C |
N |
|
C |
In the SunOS release 4.x software, -mmap flag option value includes MAP_TYPE, defined in <sys/mman.h>, which is not defined in SunOS release 5.6, ABI, SVID, and SVR4 <sys/mman.h>. |
C |
C |
C |
N |
|
C# |
The SunOS release 4.x version of mount()() and the SunOS release 5.6, or the ABI, SVID, or SVR4 version of mount()() are incompatible in a number of respects. The first argument in the SunOS release 4.x version, type, is the file system type name, while in SunOS release 5.6, ABI, SVID, and SVR4 versions,
the first argument, fs, is the name of the file system. In SunOS release 5.6, ABI, SVID, and SVR4 versions, the file system type name, fstype, is the fourth argument to mount()(). The SunOS release 4.x version uses a single parameter ( The SunOS release 4.x version of <sys/mount.h> defines symbolic constants for the mount()() flags argument ( SVID, or SVR4 <sys/mount.h>. Instead, replace
<sys/mount.h>, is not supported by the SunOS release 5.6, or the ABI, SVID, or SVR4 versions: SunOS release 4.x mount()() uses the following errno values, which are not returned by the SunOS release 5.6, or the ABI, SVID, or SVR4 version: ENODEV, EACCES, EMFILE, ENOMEM. |
C# |
C# |
C# |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S# |
S# |
S |
N |
|
S |
|
S |
S |
S |
N |
|
A |
This interface is replaced in SunOS release 5.6 by the
nfssys()( |
N |
N |
N |
N |
|
C# |
The mode argument to open()() is of type int in the SunOS release 4.x software and of type mode_t in SunOS release 5.6, ABI, SVID, and SVR4 versions. In the SunOS release 4.x software, if the path argument is an empty string, the kernel maps this empty pathname to `.', the current directory. In SunOS release 5.6,
ABI, SVID, and SVR4 versions, if path points to an empty string an error results. In the SunOS release 4.x software, if the Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <sys/types.h> and <sys/stat.h> while the SunOS release 4.x version does not. The following errno value is valid for the SunOS 4.1 version of this system call but is not returned in SunOS release 5.6, ABI, SVID, and SVR4 versions: EOPNOTSUPP. |
C# |
C# |
C# |
N |
|
open()(2V) -- SysV |
S# |
The following errno value is valid for the SunOS release 4.x version of this system call but is not returned in SunOS release 5.6, ABI, SVID, and SVR4 versions: EOPNOTSUPP. |
S# |
S# |
S# |
N |
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
C# |
The optional addr2 argument to the SunOS release 4.x software ptrace()() system call is not supported by the SunOS release 5.6 routine. The request argument to ptrace()() is of type enum The pid argument to ptrace()() is of type int in the SunOS release 4.x software and of type pid_t in theSunOS release 5.6 version. Also, the SunOS release 5.6 version includes <sys/types.h> while the SunOS release 4.x version includes <signal.h>, <sys/ptrace.h>, and <sys/wait.h>. The following errno flag is valid for the SunOS release 4.x version of this system call, but is not valid in the SunOS release 5.6 version: EPERM. See "ptrace() Request Values"for information on valid request values. |
C# |
C# |
C# |
N |
|
S |
|
S |
S |
S |
N |
|
A |
The |
A |
A |
A |
N |
|
C# |
The following errno flags are valid for the SunOS release 4.x version of this system call but are not valid in SunOS release 5.6, ABI, SVID, and SVR4 versions: EISDIR, EWOULDBLOCK. |
C# |
C# |
C# |
N |
|
read()(2V) -- SysV |
C# |
The nbyte argument to read()() is of type int in the SunOS release 4.x software and of type unsigned in the SunOS release 5.6 version. The SunOS release 5.6 read()() system call does not support BSD 4.2 style non-blocking I/O (with the The following errno flags are valid for the SunOS release 4.x version of this system call, but are not valid in the SunOS release 5.6 version: EISDIR, EWOULDBLOCK. |
C# |
C# |
C# |
N |
S |
|
S |
S |
S |
N |
|
C# |
The following errno flags are valid for the SunOS release 4.x version of this system call but are not valid in SunOS release 5.6, ABI, SVID, and SVR4 versions: EISDIR, EWOULDBLOCK. |
C# |
C# |
C# |
N |
|
readv()(2V) -- SysV |
C# |
SunOS release 4.x and SunOS release 5.6, or the SVID or SVR4 iovec structures (defined in <sys/uio.h>) differ slightly. The SunOS release 4.x iovec iov_len field is defined as integer, while SunOS release 5.6 or the SVID or SVR4 iov_len is defined as unsigned. SunOS release 5.6 or the SVID or SVR4 readv()() system call does not support BSD 4.2 style non- blocking I/O. |
C# |
C# |
C# |
N |
A |
Now reboot()(3C). The uadmin()(2) system call provides similar functionality. |
N |
N |
N |
S |
|
S |
Now recv()(3N). |
N |
N |
S |
N |
|
S |
Now recvfrom()(3N). |
N |
N |
S |
N |
|
S |
Now recvmsg()(3N). |
N |
N |
S |
N |
|
S# |
The SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> while the SunOS release 4.x version does not. The following errno flag is valid for the SunOS release 4.x version of this system call but is not valid in SunOS release 5.6, ABI, SVID, and SVR4 versions: ENOTEMPTY . SunOS release 5.6, ABI, SVID, and SVR4 versions set errno to flag EEXIST instead. |
S# |
S# |
S# |
N |
|
S# |
The SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> while the SunOS release 4.x version does not. The following errno flag is valid for the SunOS release 4.x version of this system call but is not valid in SunOS release 5.6, ABI, SVID, and SVR4 versions: ENOTEMPTY. SunOS release 5.6, ABI, SVID, and SVR4 versions set errno to flag EEXIST instead. |
S# |
S# |
S# |
N |
|
S |
|
N |
N |
S |
N |
|
S |
Now select()(3C). |
N |
N |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S# |
Now send()(3N). The following errno flag is valid for SunOS release 4.x send()(2) system calls but is not valid in the SVR4 and SunOS release 5.6: ENOBUFS. |
N |
N |
S# |
N |
|
S# |
Now sendmsg()(3N). The following errno flag is valid for SunOS release 4.x sendmsg()(2) system calls but is not valid in the SVR4 and SunOS release 5.6: ENOBUFS. |
N |
N |
S# |
N |
|
S# |
Now sendto()(3N). The following errno flag is valid for SunOS release 4.x sendto()(2) system calls but is not valid in the SVR4 and SunOS release 5.6: ENOBUFS. |
N |
N |
S# |
N |
|
N |
|
N |
N |
N |
N |
|
N |
|
N |
N |
N |
N |
|
A |
The sysinfo()(2) system call provides similar functionality. |
N |
N |
N |
N |
|
C |
In the SunOS release 4.x software, the gidset argument is of type int, while in SunOS release 5.6, ABI, SVID, and SVR4 versions, the grouplist argument is of type gid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. |
C |
C |
C |
N |
|
setgroups()(2V) -- SysV |
S |
|
S |
S |
S |
N |
A |
Now sethostname()(3C). The sysinfo()(2) system call with the command argument set to |
N |
N |
N |
S |
|
S |
|
N |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
C |
The SunOS release 4.x version of setpgrp()() has arguments pid and pgrp, and setpgrp()() sets the process group to pgrp of the process indicated by pid. The SunOS release 5.6 version of setpgrp()() does not accept an argument, and setpgrp()() also creates a new session. However, if pgrp is zero and pid refers to the calling process, then SunOS release 4.x setpgrp()() call is identical to a SunOS release 5.6 setpgrp()() call with no arguments. Also, SunOS release 4.x setpgrp()() returns a value of type int, while SunOS release 5.6, setpgrp()() returns a value of type pid_t. The SunOS release 5.6 version includes <unistd.h> and <sys/types.h> while the SunOS release 4.x version does not. The following errno flags are valid for SunOS release 4.x setpgrp()() system call but are not valid in SunOS release 5.6, ABI, SVID, and SVR4 versions: EACCES, EINVAL, ESRCH. |
C# |
C# |
C# |
N |
|
setpgrp()(2V) -- SysV |
S |
The following errno flags are valid for SunOS release 4.x setpgrp()(2V) system call but is not valid in SunOS release 5.6, ABI, SVID, and SVR4 versions: EACCES, EINVAL, ESRCH. |
S |
S |
S |
N |
A |
Now setpriority()(3C). The priocntl()(2) system call provides similar functionality. |
A |
A |
A |
S |
|
S |
N |
N |
N |
C |
||
S |
N |
N |
N |
C |
||
C |
C |
C |
C |
N |
||
S |
|
S |
S |
S |
N |
|
S |
Now setsockopt()(3N). |
N |
N |
S |
N |
|
S |
Now settimeofday()(3C). |
N |
S |
S |
S |
|
N |
|
N |
N |
N |
N |
|
S |
Now xdr_simple()(3N). |
N |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
Now shutdown()(3N). |
N |
N |
S |
N |
|
C |
There is a flag in the Solaris 2.6 version, |
N |
C |
C |
S |
|
A |
The sigprocmask()(2) system call with the how argument set to |
A |
A |
A |
S |
|
A |
A |
A |
A |
S |
||
S |
The SunOS release 4.x sigpause()() system call assigns its argument (sigmask ) to the set of masked signals while the ABI and SVID versions of sigpause() remove its argument (sig) from the calling process's signal mask. The SVR4 and SunOS release 5.6 sigpause()() is compatible with SunOS release 4.x sigpause()(2). |
C |
C |
S |
S |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
A |
The sigprocmask()(2) routine with the how argument set to |
A |
A |
A |
S |
|
A |
Now sigstack()(3C). The sigaltstack()(2) system call provides similar functionality. |
A |
A |
A |
S |
|
S |
|
S |
S |
S |
N |
|
A |
The sigaction()(2) system call provides similar functionality. |
A |
A |
A |
S |
|
C# |
Now socket()(3N). The SunOS release 4.x |
N |
N |
C# |
N |
|
S |
Now socketpair()(3N). |
N |
N |
S |
N |
|
S |
Now xdr_simple()(3N). |
N |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
A |
The statvfs()(2) system call provides similar functionality. |
A |
A |
A |
N |
|
A |
The swapctl()(2) system call provides similar functionality. |
N |
N |
N |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
N |
|
N |
N |
N |
S |
|
S |
Now sysconf()(3C). |
S |
S |
S |
N |
|
S |
|
S |
N |
S |
N |
|
S |
Now truncate()(3C). |
N |
N |
S |
N |
|
C |
The following symbolic access modes (<sys/stat.h>) are supported by the SunOS release 4.x version of umask()(), but not by SunOS release 5.6, ABI, SVID, and SVR4 versions: S_IREAD (00400), S_IWRITE (00200), S_IEXEC (00100). However, the equivalent SunOS release 5.6, ABI, SVID, and SVR4 symbolic access modes, S_IRUSR (00400), S_IWUSR (00200), and S_IXUSR (00100) do have the same definitions, are defined in SunOS release 4.x <sys/stat.h>, and thus should be used. |
C |
C |
C |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
S |
S |
S |
N |
|
A |
The umount()(2) system call provides similar functionality. |
A |
A |
A |
N |
|
S |
|
S |
S |
S |
N |
|
S |
|
N |
N |
N |
N |
|
N |
|
N |
N |
N |
N |
|
S |
|
N |
N |
S |
N |
|
S |
|
N |
N |
N |
N |
|
C |
In SunOS release 4.x, wait()() returns a value of type int. In SunOS release 5.6, ABI, SVID, and SVR4, wait()() returns a value of type pid_t. Also, SunOS release 5.6, ABI, SVID, and SVR4 versions include <sys/types.h> while the SunOS release 4.x version does not. The union wait, supported in SunOS release 4.x for backwards compatibility with previous SunOS releases, is not supported in SunOS release 5.6, ABI, SVID, and SVR4 versions. In SunOS release 4.x, wait()() is automatically restarted when a process receives a signal while awaiting termination, unless the |
C |
C |
C |
N |
|
wait()(2V) -- SysV |
C |
The union wait, supported in the SunOS release 4.x softwarefor backwards compatibility, is not supported in SunOS release 5.6, ABI, SVID, and SVR4 versions. The SunOS release 4.x,wait()(2V)
is automatically restarted when a process receives a signal while awaiting termination unless the |
C |
C |
C |
N |
A |
Now wait3()(3C). The wait()(2) and waitpid()(2) system calls provide similar functionality. |
A |
A |
A |
S |
|
A |
Now wait4()(3C). The wait()(2) and waitpid()(2) system calls provide similar functionality. |
A |
A |
A |
S |
|
C |
SunOS release 4.x waitpid()() returns a value of type int. In the SunOS release 5.6,
ABI, SVID, and SVR4 versions, waitpid()() returns a value of type pid_t. The pid argument to waitpid()() is of type int in the SunOS release 4.x software and of type pid_t in the SunOS release 5.6, ABI, SVID, and SVR4 versions. Also, the SunOS release 5.6, ABI, SVID, and SVR4 versions include <sys/types.h> while the SunOS release 4.x version does not. The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in SunOS release 5.6, ABI, SVID, and SVR4 versions. The SunOS release 4.x waitpid()() is automatically restarted when a process receives a signal while awaiting termination unless the |
C |
C |
C |
N |
|
waitpid()(2V) -- SysV |
C |
The union wait, supported in the SunOS release 4.x software for backwards compatibility, is not supported in SunOS release 5.6, ABI, SVID, and SVR4 versions.
The SunOS release 4.x waitpid()(2V) is automatically restarted when a process receives a signal while awaiting termination unless the |
C |
C |
C |
N |
C# |
In the SunOS release 4.x software, if the object that the descriptor refers to is marked for non-blocking
I/O, using the FIONBIO request to ioctl()(), or using fcntl()() to set the In the SunOS release 5.6 software, on a write()() to a regular file, if On write()() requests to a pipe or FIFO with With The SunOS release 5.6 write()() routine does not support 4.2 BSD style non-blocking I/O. The following errno flag is valid for the SunOS release 4.x version of this system call but is not valid in the SunOS release 5.6 version: EWOULDBLOCK. |
C# |
C# |
C# |
N |
|
write()(2V) -- SysV |
C# |
The SunOS release 5.6, ABI, SVID, and SVR4 versions of write()() does not support 4.2 BSD style non-blocking I/O. The following errno flag is valid for the SunOS release 4.x version of this system call but is not valid in SunOS release 5.6, ABI, SVID, and SVR4 versions: EWOULDBLOCK. |
C# |
C# |
C# |
N |
C# |
SunOS release 5.6, ABI, SVID, and SVR4 versions of writev()() does not support 4.2 BSD style non-blocking I/O. The following errno flag is valid for the SunOS release 4.x version of this system call but is not valid in the SunOS release 5.6, or the ABI, SVID, or SVR4 version: EWOULDBLOCK. |
C# |
C# |
C# |
N |