Solaris 2.x への移行

システムコールのリファレンス (W)

表 B-4

SunOS 4.x システムコール 

SunOS 5.6  

注 

ABI 

SVID 

SVR4 

BSD 

WEXITSTATUS()(2)

C 

union wait は、SunOS 4.x でサポートされていたが、SVR4 および SunOS 5.6 ではサポートされない。

N 

N 

S 

S 

WIFEXITED()(2)

C 

union wait は、SunOS 4.x でサポートされていたが、SVR4 および SunOS 5.6 ではサポートされない。

N 

N 

C 

S 

WIFSIGNALED()(2)

C 

union wait は、SunOS 4.x でサポートされていたが、SVR4 および SunOS 5.6 ではサポートされない。

N 

N 

C 

S 

WIFSTOPPED() (2)

C 

union wait は、SunOS 4.x でサポートされていたが、SVR4 および SunOS 5.6 ではサポートされない。

N 

N 

C 

S 

WSTOPSIG()(2)

C 

union wait は、SunOS 4.x でサポートされていたが、SVR4 および SunOS 5.6 ではサポートされない。

N 

N 

C 

S 

WTERMSIG()(2)

C 

union wait は、SunOS 4.x でサポートされていたが、SVR4 および SunOS 5.6 ではサポートされない。

N 

N 

C 

S 

wait()(2V)

C 

SunOS 4.x では、wait() は int 型の値を返す。SunOS 5.6、ABI、SVID、または SVR4 では、wait() は pid_t 型の値を返す。また、SunOS 5.6、ABI、SVID、SVR4 では <sys/types.h> に含まれるが、SunOS 4.x では含まれない。union wait は、以前の SunOS との下位互換性のために SunOS 4.x でサポートされていたが、SunOS 5.6、ABI、SVID、または SVR4 ではサポートされない。SunOS 4.x では、wait() は、SV_INTERRUPT ビットがそのシグナル用のフラグに設定されない限り、終了を待つ間にプロセスがシグナルを受け付けると自動的に再起動される。SunOS 5.6、ABI、SVID、または SVR4 では、wait() は、シグナルが受け付けられると途中で戻る。

C 

C 

C 

N 

wait()(2V) -SysV

C 

union wait は、SunOS 4.x でサポートされていたが、SunOS 5.6、ABI、SVID、または SVR4 ではサポートされない。SunOS 4.x では、wait()(2V) は、 SV_INTERRUPT ビットがそのシグナル用のフラグに設定されない限り、終了を待つ間にプロセスがシグナルを受け付けると自動的に再起動される。SunOS 5.6、ABI、SVID、または SVR4 では、wait()(2) は、シグナルが受け付けられると途中で戻る。

C 

C 

C 

N 

wait3()(2V)

A 

現在は wait3()(3C)。wait()(2) と waitpid()(2) が同様の機能を提供する。

A 

A 

A 

S 

wait4()(2V)

A 

現在は wait4()(3C)。wait()(2) と waitpid()(2) が同様の機能を提供する。

A 

A 

A 

S 

waitpid()(2V)

C 

SunOS 4.x では、waitpid() は int 型の値を返す。SunOS 5.6、ABI、SVID、または SVR4 では、waitpid() は pid_t 型の値を返す。 waitpid() の pid 引数は、SunOS 4.x では int 型で、SunOS 5.6、ABI、SVID、または SVR4 では pid_t 型となっている。また、SunOS 5.6、ABI、SVID、SVR4 では <sys/types.h> に含まれるが、SunOS 4.x では含まれない。union wait は、以前の SunOS との下位互換性のために SunOS 4.x でサポートされていたが、SunOS 5.6、ABI、SVID、または SVR4 ではサポートされない。SunOS 4.x では、waitpid() は、SV_INTERRUPT ビットがそのシグナル用のフラグに設定されない限り、終了を待つ間にプロセスがシグナルを受け付けると自動的に再起動される。SunOS 5.6、ABI、SVID、または SVR4 では、waitpid() は、シグナルが受け付けられると途中で戻る。

C 

C 

C 

N 

waitpid()(2V) -SysV

C 

union wait は、SunOS 4.x でサポートされていたが、SunOS 5.6、ABI、SVID、または SVR4 ではサポートされない。SunOS 4.x では、waitpid()(2V) は、SV_INTERRUPT ビットがそのシグナル用のフラグに設定されない限り、終了を待つ間にプロセスがシグナルを受け付けると自動的に再起動される。SunOS リリース 5.6、ABI、SVID、または SVR4 では、waitpid()(2) は、シグナルが受け付けられると途中で戻る。

C 

C 

C 

N 

write()(2V)

C# 

SunOS 4.x ソフトウェアでは、記述子の参照が非ブロック I/O の場合、ioctl() の FIONBIO 要求を使用するか、FNDELAY や O_NDELAY フラグのセットのため fcntl() を使用することにより、write() は -1 を返して errno に EWOULDBLOCK を設定する。

SunOS 5.6 ソフトウェアでは、通常ファイルへの write() では、O_NDELAY または O_NONBLOCK が設定されていれば、write() は -1 を返して errno に EAGAIN を設定する。

O_NONBLOCK または O_NDELAY が設定されているパイプまたは FIFO への write() 要求では、write() はプロセスをブロックしない。プロセスをブロックしないで書き込むことができるデータがある場合、write() は書き込みできるものを書き込み、書き込まれたバイト数を返す。それ以外の場合は、O_NONBLOCK が設定されると -1 を戻して errno に EAGAIN を設定し、O_NDELAY が設定されると 0 を返す。O_NDELAY が設定されると、{ PIPE_BUF} またはそれ以下のバイト数の write() 要求は、完全に正常終了して nbytes を返すか、または 0 を返す。

{PIPE_BUF} バイトより大きな write() 要求は、転送できるものを転送して書き込まれたバイト数を返すか、またはデータを転送しないで 0 を返す。また、要求が {PIPE_BUF} バイトよりも大きく、以前にパイプに書き込まれたデータがすべて読み出されている場合、write() は少なくとも {PIPE_BUF} バイトを転送する。SunOS 5.6 の write() ルーチンは、4.2 BSD スタイルの非ブロック I/O をサポートしない。

 

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

C# 

C# 

C# 

N 

write()(2V) -SysV

C# 

SunOS 5.6、ABI、SVID、または SVR4 の write() は、4.2 BSD スタイルの非ブロック I/O をサポートしない。errno フラグの EWOULDBLOCK は、SunOS 4.x の write() には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。

C# 

C# 

C# 

N 

writev()(2V)

C# 

SunOS 5.6、ABI、SVID、または SVR4 の writev() は、4.2 BSD スタイルの非ブロック I/O をサポートしない。errno フラグの EWOULDBLOCK は、SunOS 4.x の writev() には有効だが、SunOS 5.6、ABI、SVID、または SVR4 では無効。

C# 

C# 

C# 

N