Solaris 2.x への移行

システムコールのリファレンス (R, S, T, U, V)

表 B-3

SunOS 4.x システムコール 

SunOS 5.6  

注 

ABI 

SVID 

SVR4 

BSD 

read()(2V)

C# 

errno フラグの EISDIR、EWOULDBLOCK は、SunOS 4.x の read() には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。

C# 

C# 

C# 

N 

read()(2V) -SysV

C# 

read() の nbyte 引数は、SunOS 4.x では int() 型で、SunOS 5.6 では unsigned() 型である。

SunOS 5.6 の read() は、(FIONBIO ioctl() 要求、あるいは <sys/file.h> から FNDELAY フラグまたは 4.x BSD 環境の <fcntl.h> から O_NDELAY フラグを使った fcntl(2V)() へのコールがある) BSD 4.2 スタイル非ブロック I/O を、SunOS 4.x の read() ルーチンのようにはサポートしない。

errno フラグの EISDIR、EWOULDBLOCK は、SunOS 4.x の read() には有効だが、SunOS 5.6 では無効。

C# 

C# 

C# 

N 

readlink()(2)

S 

 

S 

S 

S 

N 

readv()(2)

C# 

errno フラグの EISDIR、EWOULDBLOCKは、SunOS 4.x には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。

C# 

C# 

C# 

N 

readv()(2V) -SysV

C# 

SunOS 4.x、SunOS 5.6、SVID または SVR4 の (<sys/uio.h> に定義がある) iovec 構造体はわずかに異なる。SunOS 4.x の iovec の iov_len フィールドは、integer として定義されるが、SunOS 5.6、SVID または SVR4 の iov_len は unsigned として定義される。 SunOS 5.6、SVID または SVR4 の readv() システムコールは、BSD 4.2 スタイルの非ブロック I/O を、SunOS 4.x のようにはサポートしない。

C# 

C# 

C# 

N 

reboot()(2)

A 

現在は reboot()(3C)。uadmin()(2) が同様の機能を提供する。

N 

N 

N 

S 

recv()(2)

S 

現在は recv()(3N)

N 

N 

S 

N 

recvfrom()(2)

S 

現在は recvfrom()(3N)

N 

N 

S 

N 

recvmsg()(2)

S 

現在は recvmsg()(3N)

N 

N 

S 

N 

rename()(2V) -SysV

S# 

SunOS 5.6、ABI、SVID、または SVR4 では <unistd.h> に含まれるが、SunOS 4.x では含まれない。errno フラグ ENOTEMPTY は、SunOS 4.x の rename() には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。 SunOS 5.6、ABI、SVID、または SVR4 は、そのかわりにフラグ EEXIST に対して errno を設定する。

S# 

S# 

S# 

N 

rmdir()(2V) -SysV

S# 

SunOS 5.6、ABI、SVID、または SVR4 では <unistd.h> に含まれるが、SunOS 4.x では含まれない。errno フラグ ENOTEMPTY は、SunOS 4.x の rmdir() には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。 SunOS 5.6、ABI、SVID、または SVR4 は、そのかわりにフラグ EEXIST に対して errno を設定する。

S# 

S# 

S# 

N 

sbrk()(2)

S 

 

N 

N 

S 

N 

select()(2)

S 

現在は select()(3C)。

N 

N 

S 

N 

semctl()(2)

S 

 

S 

S 

S 

N 

semget()(2)

S 

 

S 

S 

S 

N 

semop()(2)

S 

 

S 

S 

S 

N 

send()(2)

S# 

現在は send()(3N)。

errno フラグの ENOBUFS は、SunOS 4.x の send()(2) には有効だが、SVR4、および SunOS 5.6 では無効。

N 

N 

S# 

N 

sendmsg(2)()

S# 

現在は sendmsg()(3N)。

errno フラグの ENOBUFS は、SunOS 4.x の sendmsg()(2) には有効だが、SVR4 と SunOS 5.6 では無効。

N 

N 

S# 

N 

sendto()(2)

S# 

現在は sendto()(3N)。

errno フラグの ENOBUFS は、SunOS 4.x の sendto()(2) には有効だが、SVR4 と SunOS 5.6 では無効。

N 

N 

S# 

N 

setaudit()(2)

N 

 

N 

N 

N 

N 

setauid() (2)

N 

 

N 

N 

N 

N 

setdomainname()(2)

A 

sysinfo()(2) が同様の機能を提供する。

N 

N 

N 

N 

setgroups()(2V)

C 

SunOS 4.x では、gidset 引数は int 型で、SunOS 5.6、ABI、SVID、または SVR4 では、gidset 引数は gid_t 型になっている。また、SunOS 5.6、ABI、SVID、または SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

setgroups()(2V) -SysV

S 

 

S 

S 

S 

N 

sethostname()(2)

A 

現在は sethostname()(3C)。sysinfo()(2) のコマンド引数を SI_SET_HOSTNAME に設定すると、同様の機能を提供する。

N 

N 

N 

S 

setitimer()(2)

S 

 

N 

S 

S 

N 

setpgid()(2V) -SysV

S 

 

S 

S 

S 

N 

setpgrp() (2V)

C 

SunOS 4.x の setpgrp() には引数 pid と pgrp があり、setpgrp() はプロセスグループを pid によって示されるプロセスの pgrp に設定する。SunOS 5.6 の setpgrp() は引数を受け付けず、setpgrp() は新しいセッションも作成する。ただし、pgrp がゼロであり、pid が呼び出し元プロセスを参照すると、SunOS 4.x の setpgrp() コールは引数なしの SunOS 5.6 の setpgrp() コールと同じになる。また、SunOS 4.x の setpgrp() は int 型の値を返すが、SunOS 5.6 では、setpgrp() は pid_t 型の値を返す。さらに、SunOS 5.6 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。errno フラグの EACCES、EINVAL、ESRCH は、SunOS 4.x の setpgrp() には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。

()

C# 

C# 

C# 

N 

setpgrp()(2V) -SysV

S 

errno フラグの EACCES、EINVAL、ESRCH は SunOS 4.x の setpgrp()(2V) には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。

S 

S 

S 

N 

setpriority()(2)

A 

現在は setpriority()(3C)。priocntl()(2) が同様の機能を提供する。

A 

A 

A 

S 

setregid()(2)

S 

現在は setregid()(3C)。

N 

N 

N 

C 

setreuid()(2)

S 

現在は setreuid()(3C)。

N 

N 

N 

C 

setrlimit() (2)

C 

現在は setrlimit()(2)。

C 

C 

C 

N 

setsid()(2V) -SysV

S 

 

S 

S 

S 

N 

setsockopt()(2)

S 

現在は setsockopt()(2)。

N 

N 

S 

N 

settimeofday() (2)

S 

現在は settimeofday()(2)。

N 

S 

S 

S 

setuseraudit()(2)

N 

 

N 

N 

N 

N 

sgetl()(2)

S 

現在は xdr_simple()(3N)。

N 

S 

S 

N 

shmat()(2)

S 

 

S 

S 

S 

N 

shmctl()(2)

S 

 

S 

S 

S 

N 

shmdt()(2)

S 

 

S 

S 

S 

N 

shmget()(2)

S 

 

S 

S 

S 

N 

shutdown()(2)

S 

現在は shutdown()(3N)。

N 

N 

S 

N 

sigaction()(2)

C 

Solaris 2.6 には SA_RESTART というフラグがある。このフラグを使用すると、このシグナルのハンドラの実行により割り込みされる関数がシステムにより透過的に再起動される。

N 

C 

C 

S 

sigblock()(2)

A 

how 引数を SIG_BLOCK に設定した sigprocmask()(2) が同様の機能を提供する。

A 

A 

A 

S 

sigmask() (2)

A 

sigsetops()(3C) ルーチンは、SunOS 5.6、ABI、SVID、または SVR4 が同様の機能を提供する。

A 

A 

A 

S 

sigpause()(2V) -SysV

S 

SunOS 4.x の sigpause() は、その引数 (sigmask) をマスクされたシグナルのセットに代入するが、ABI と SVID の sigpause() は、その引数 (sig) を呼び出し元プロセスのシグナルマスクから削除する。SVR4 と SunOS 5.6 の sigpause() は、SunOS 4.x の sigpause()(2) と互換性がある。

C 

C 

S 

S 

sigpending()(2V) -SysV

S 

 

S 

S 

S 

N 

sigprocmask()(2V) -SysV

S 

 

S 

S 

S 

N 

sigsetmask()(2)

A 

how 引数を SIG_SETMASK に設定した sigprocmask()(2) ルーチンは、SunOS 5.6、ABI、SVID、または SVR4 が同様の機能を提供する。

A 

A 

A 

S 

sigstack()(2)

A 

現在は sigstack()(3C)。sigaltstack(2)() が同様の機能を提供する。

A 

A 

A 

S 

sigsuspend()(2V) -SysV

S 

 

S 

S 

S 

N 

sigvec()(2)

A 

sigaction()(2) が同様の機能を提供する。

A 

A 

A 

S 

socket()(2)

C# 

現在は socket()(3N)

SunOS 4.x では、PF_IMPIPNK はサポートされた domain だが、SVR4 と SunOS 5.6 では PF_IMPIPNK はサポートされない。errno フラグの ENOBUFS、EPROTOTYPE は、SunOS 4.x の socket() には有効だが、SVR4 と SunOS 5.6 では無効。

N 

N 

C# 

N 

socketpair()(2)

S 

現在は socketpair()(3N)

N 

N 

S 

N 

sputl()(2)

S 

現在は xdr_simple()(3N)

N 

S 

S 

N 

stat()(2V) -SysV

S 

 

S 

S 

S 

N 

statfs()(2)

A 

statvfs()(2) が同様の機能を提供する。

A 

A 

A 

N 

swapon()(2)

A 

swapctl()(2) が同様の機能を提供する。

N 

N 

N 

N 

symlink()(2)

S 

 

S 

S 

S 

N 

sync()(2)

S 

 

S 

S 

S 

N 

syscall()(2)

N 

 

N 

N 

N 

S 

sysconf()(2V) -SysV

S 

現在は sysconf()(3C)

S 

S 

S 

N 

tell()(2V) -SysV

S 

 

S 

N 

S 

N 

truncate()(2)

S 

現在は truncate()(23C)

N 

N 

S 

N 

umask(2V) -SysV()

C 

シンボリックアクセスモード (<sys/stat.h>) の S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は、SunOS 4.x の umask() によってサポートされるが、SunOS 5.6、ABI、SVID、または SVR4 ではサポートされない。ただし、同等の SunOS 5.6、ABI、SVID、または SVR4 シンボリックアクセスモードである S_IRUSR (00400)、S_IWUSR (00200)、S_IXUSR (00100) には同じ定義があり、SunOS 4.x の <sys/stat.h> にも定義があるため、使用することができる。

C 

C 

C 

N 

umount()(2V) -SysV

S 

 

S 

S 

S 

N 

uname()(2V) -SysV

S 

 

S 

S 

S 

N 

unlink()(2V) -SysV

S 

 

S 

S 

S 

N 

unmount()(2)

A 

umount()(2) が同様の機能を提供する。

A 

A 

A 

N 

ustat()(2)

S 

 

S 

S 

S 

N 

utimes()(2)

S 

 

N 

N 

N 

N 

vadvise()(2)

N 

 

N 

N 

N 

N 

vfork()(2)

S 

 

N 

N 

S 

N 

vhangup()(2)

S 

 

N 

N 

N 

N