Solaris 移行ガイド

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

表 B-3

SunOS 4.x システムコール 

SunOS 5.6  

注 

ABI 

SVID 

SVR4 

BSD 

read()(2V)

C# 

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

C# 

C# 

C# 

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 フラグの EISDIREWOULDBLOCK は、SunOS 4.x の read() には有効だが、SunOS 5.6 では無効。

C# 

C# 

C# 

readlink()(2)

 

readv()(2)

C# 

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

C# 

C# 

C# 

readv()(2V) -SysV

C# 

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

C# 

C# 

C# 

reboot()(2)

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

recv()(2)

現在は recv()(3N)

recvfrom()(2)

現在は recvfrom()(3N)

recvmsg()(2)

現在は recvmsg()(3N)

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# 

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# 

sbrk()(2)

 

select()(2)

現在は select()(3C)

semctl()(2)

 

semget()(2)

 

semop()(2)

 

send()(2)

S# 

現在は send()(3N)

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

S# 

sendmsg(2)()

S# 

現在は sendmsg()(3N)

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

S# 

sendto()(2)

S# 

現在は sendto()(3N)

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

S# 

setaudit()(2)

 

setauid() (2)

 

setdomainname()(2)

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

setgroups()(2V)

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 では含まれない。

setgroups()(2V) -SysV

 

sethostname()(2)

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

setitimer()(2)

 

setpgid()(2V) -SysV

 

setpgrp() (2V)

SunOS 4.x の setpgrp() には引数 pidpgrp があり、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 フラグの EACCESEINVALESRCH は、SunOS 4.x の setpgrp() には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。

()

C# 

C# 

C# 

setpgrp()(2V) -SysV

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

setpriority()(2)

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

setregid()(2)

現在は setregid()(3C)

setreuid()(2)

現在は setreuid()(3C)

setrlimit() (2)

現在は setrlimit()(2)

setsid()(2V) -SysV

 

setsockopt()(2)

現在は setsockopt()(2)

settimeofday() (2)

現在は settimeofday()(2)

setuseraudit()(2)

 

sgetl()(2)

現在は xdr_simple()(3N)

shmat()(2)

 

shmctl()(2)

 

shmdt()(2)

 

shmget()(2)

 

shutdown()(2)

現在は shutdown()(3N)

sigaction()(2)

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

sigblock()(2)

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

sigmask() (2)

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

sigpause()(2V) -SysV

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

sigpending()(2V) -SysV

 

sigprocmask()(2V) -SysV

 

sigsetmask()(2)

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

sigstack()(2)

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

sigsuspend()(2V) -SysV

 

sigvec()(2)

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

socket()(2)

C# 

現在は socket()(3N)

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

C# 

socketpair()(2)

現在は socketpair()(3N)

sputl()(2)

現在は xdr_simple()(3N)

stat()(2V) -SysV

 

statfs()(2)

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

swapon()(2)

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

symlink()(2)

 

sync()(2)

 

syscall()(2)

 

sysconf()(2V) -SysV

現在は sysconf()(3C)

tell()(2V) -SysV

 

truncate()(2)

現在は truncate()(23C)

umask(2V) -SysV()

シンボリックアクセスモード (<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> にも定義があるため、使用することができる。

umount()(2V) -SysV

 

uname()(2V) -SysV

 

unlink()(2V) -SysV

 

unmount()(2)

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

ustat()(2)

 

utimes()(2)

 

vadvise()(2)

 

vfork()(2)

 

vhangup()(2)