Solaris 2.x への移行

システムコールのリファレンス (A, B, C, D, E, F, G)

表 B-1

SunOS 4.x システムコール 

SunOS 5.6  

注 

ABI 

SVID 

SVR4 

BSD 

accept()(2)

S 

現在は accept()(3N)

N 

N 

S 

N 

access()(2V) -SysV

S 

 

S 

S 

S 

N 

acct() (2)

C# 

シンボリック名、ACOMPAT、ACORE、AXSIG は、SunOS 4.x の (<sys/acct.h> に定義されている) acct 構造体メンバ ac_flag には有効だが、SunOS 5.6、ABI、SVID、SVR4 では無効。また、アカウンティング記録のフォーマットも、SunOS 4.x と、SunOS 5.6、ABI、SVID、SVR4 との間で異なる。

C# 

C# 

C# 

N 

adjtime()(2)

S 

 

N 

S 

S 

N 

async_daemon()(2)

N 

 

N 

N 

N 

N 

audit()(2)

N 

 

N 

N 

N 

N 

auditon() (2)

N 

 

N 

N 

N 

N 

auditsvc()(2)

N 

 

N 

N 

N 

N 

bind()(2)

S 

現在は bind()(3N)

N 

N 

S 

N 

brk()(2)

S 

 

N 

N 

S 

N 

chdir() (2V) -SysV

S 

 

S 

S 

S 

N 

chmod()(2V) -SysV

C# 

シンボリックアクセスモード (<sys/stat.h>)、S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4.x の chmod() によってサポートさ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 

chown() (2V)

C 

SunOS 4.x では、chown() の owner および group 引数は int 型になる。SunOS 5.6、ABI、SVID、SVR4 では、owner は uid_t 型、group は gid_t 型になる。

SunOS 4.x では、path の最後の指定がシンボリックリンクならば、シンボリックリンクの所有権は変更された。SunOS 5.6 では、chown() はシンボリックリンクによって参照されるファイルまたはディレクトリの所有権を変更する。シンボリックリンクの所有権を変更するには SunOS 5.6 の lchown()(2) を使用する。

C 

C 

C 

N 

chown()(2V) -SysV

S 

 

S 

S 

S 

N 

chroot()(2)

S 

 

S 

S 

S 

N 

close()(2V) -SysV

S 

 

S 

S 

S 

N 

connect()(2)

S# 

現在はconnect()(3N)。

N 

N 

S# 

N 

creat()(2V)

C# 

SunOS 4.x では、creat() の mode 引数は int 型で、SunOS 5.6、ABI、SVID、SVR4 では、mode 引数は mode_t 型。また、SunOS 5.6、ABI、SVID、SVR4 では <fcntl.h> に含まれるが、SunOS 4.x では含まれない。シンボリックアクセスモード (<sys/stat.h>)、S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4.x の creat() によってサポートされるが、 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> でも定義されているので使用できる。errno フラグの ENXIO、EOPNOTSUPP は、SunOS 4.x の chmod 関数には有効だが、SunOS 5.6、ABI、SVID、SVR4 では無効。

C# 

C# 

C# 

N 

creat()(2V) -SysV

C# 

シンボリックアクセスモード (<sys/stat.h>)、S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4.x の creat() によってサポートされるが、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> でも定義されているので使用できる。errno フラグの ENXIO、EOPNOTSUPP は、SunOS 4.x の chmod 関数には有効だが、SunOS 5.6、ABI、SVID、SVR4 では無効。

C# 

C# 

C# 

N 

dup()(2V) -SysV

S 

 

S 

S 

S 

N 

dup2()(2V) -SysV

S 

現在は dup2()(3C)。

S 

S 

S 

N 

_exit()(2V) -SysV

S 

 

S 

S 

S 

N 

execve()(2V) -SysV

S 

 

S 

S 

S 

N 

fchdir()(2V) -SysV

S 

 

S 

S 

S 

N 

fchmod()(2V) -SysV

C 

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

C 

C 

C 

N 

fchown()(2)

S 

 

S 

S 

S 

N 

fchroot()(2)

S 

 

N 

N 

N 

N 

fcntl()(2V) -SysV

C 

SunOS 4.x では、フラグ -O_APPEND、-O_SYNC、-O_NDELAY、また、<sys/file.h> に定義があるフラグ -FASYNC、-FNDELAY、-FNBIO が F_SETFL コマンドで有効となる。SunOS 5.6、ABI、SVID、SVR4 はフラグ -O_APPEND、-O_SYNC、-O_NDELAY、および -O_NONBLOCK のみサポートする。-O_SYNC は -FASYNC の代わりに使用できる。-O_NONBLOCK は -FNDELAY と -FNBIO の代わりに使用できる。また、-O_NONBLOCK は -O_NDELAY の代わりに使用できる。-O_NDELAY は削除されている。SunOS 4.x の F_GETOWN および F_SETOWN コマンドは SunOS 5.6、ABI、SVID、SVR4 ではサポートされない。

C 

C 

C 

N 

flock()(2)

N 

 

N 

N 

N 

S 

fork()(2V)

C 

SunOS 4.x では、fork() は int 型の値を返す。 SunOS 5.6、ABI、SVID、SVR4 では、fork() は pid_t 型の値を返す。また、SunOS 5.6、ABI、SVID、SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

fork()(2V) -SysV

S 

 

S 

S 

S 

N 

fpathconf()(2V) -SysV

S 

 

S 

S 

S 

N 

fstat()(2V) -SysV

S 

 

S 

S 

S 

N 

fstatfs()(2)

A 

fstatvfs()(2) に同等の機能がある。

A 

A 

A 

S 

fsync()(2)

S 

 

S 

S 

S 

N 

ftruncate()(2)

S 

現在はftruncate()(3C)

N 

N 

S 

N 

getauid()(2)

N 

 

N 

N 

N 

N 

getdents()(2)

S 

 

N 

N 

S 

N 

getdirentries()(2)

A 

getdents()(2) に同等の機能がある。

N 

N 

N 

N 

getdomainname()(2)

A 

sysinfo()(2) に同等の機能がある。

N 

N 

N 

N 

getdtablesize()(2)

A 

現在は getdtablesize()(3C)。getrlimit() で resource 引数を RLIMIT_NOFILE に設定すると同様の機能が使用できる。

A 

A 

A 

S 

getegid()(2V)

C 

SunOS 4.x では、getegid() は int 型の値を返す。SunOS 5.6、ABI、SVID、SVR4 では、getegid() は gid_t 型の値を返す。また、SunOS 5.6、ABI、SVID、SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

getegid()(2V) -SysV

S 

 

S 

S 

S 

N 

geteuid()(2V)

C 

SunOS 4.x では、geteuid() は int 型の値を返す。SunOS 5.6、ABI、SVID、SVR4 では、geteuid() は uid_t 型の値を返す。また、SunOS 5.6、ABI、SVID、SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

geteuid()(2V) -SysV

S 

 

S 

S 

S 

N 

getgid()(2V)

C 

SunOS 4.x では、getgid() は int 型の値を返す。SunOS 5.6、ABI、SVID、SVR4 では、getgid() は gid_t 型の値を返す。また、SunOS 5.6、ABI、SVID、SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

getgid()(2V) -SysV

S 

 

S 

S 

S 

N 

getgroups()(2V)

C 

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

C 

C 

C 

N 

getgroups()(2V) -SysV

S 

 

S 

S 

S 

N 

gethostid() (2)

A 

現在は gethostid()(3C)。sysinfo()(2) で command 引数を SI_HW_SERIAL に設定すると同様の機能を使用できる。

N 

N 

N 

S 

gethostname()(2)

A 

現在は gethostname()(3C)。sysinfo() (SI_HOSTNAME, name, namelen) ルーチンが同様の機能を提供する。

N 

N 

N 

S 

getitimer()(2)

S 

 

N 

S 

S 

N 

getmsg()(2)

S 

 

S 

S 

S 

N 

getpagesize()(2)

A 

現在は getpagesize()(3C)。sysconf()(3C) が同様の機能を提供する。

A 

A 

A 

S 

getpeername()(2)

S# 

現在は getpeername()(3N)。errno フラグの ENOBUFS は SunOS 4.x の getpeername() には有効だが、SVR4 と SunOS 5.6 では無効。

N 

N 

S# 

N 

getpgid()(2V)

S 

 

S 

S 

S 

N 

getpgrp()(2V)

C 

SunOS 4.x の getpgrp() には引数 pid があり、getpgrp() は pid によって示されるプロセスのプロセスグループを返す。getpgrp() の SunOS 5.6、ABI、SVID、SVR4 は引数を受け付けず、getpgrp() は呼び出し元のプロセスグループ ID を返す。また、SunOS 4.x getpgrp() は int 型の値を返すが、SunOS 5.6、ABI、SVID、または SVR4 の getpgrp() は pid_t 型の値を返す。SunOS 5.6、ABI、SVID、および SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

getpgrp()(2V) -SysV

S 

 

S 

S 

S 

N 

getpid()(2V)

C 

SunOS 4.x では、getpid() は int 型の値を返す。 SunOS 5.6、ABI、SVID、または SVR4 では、getpid() は pid_t 型の値を返す。また、SunOS 5.6、ABI、SVID、および SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

getpid()(2V) -SysV

S 

 

S 

S 

S 

N 

getppid()(2V)

C 

SunOS 4.x では、getppid() は int 型の値を5.6、ABI、SVID、または SVR4 では、getppid() は pid_t 型の値を返す。また、ABI、SVID、SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

getppid()(2V) -SysV

S 

 

S 

S 

S 

N 

getpriority()(2)

A 

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

A 

A 

A 

S 

getrlimit()(2)

C 

RLIMIT_RSS は SunOS 4.x でサポートされているリソースの 1 つで (プロセスの常駐セットサイズが増大できるバイト単位の最大サイズ)、SunOS 5.6、ABI、SVID、または SVR4 ではサポートされていない。SunOS 5.6、ABI、SVID、または SVR4 では、さらに RLIMIT_AS リソース、つまりバイト単位で定義されるプロセスのアドレス空間の最大サイズもサポートする。また、SunOS 5.6、ABI、SVID、または SVR4 での、rlimit 構造体にある rlim_cur (現在のソフト限界) および rlim_max (ハード限界) フィールドは、SunOS 4.x では int 型ではなく rlim_t 型である。

C 

C 

C 

N 

getrusage()(2)

A 

現在は getusage()(3C)。

N 

N 

N 

C 

getsockname()(2)

S# 

SunOS 4.x の getsockname() が使用する errno 値 ENOBUFS は、SVR4 と SunOS 5.6 では ENOSR に変更された。

N 

N 

S# 

N 

getsockopt()(2)

S 

現在は getsockopt()(3N)

N 

N 

S 

N 

gettimeofday()(2)

S 

現在は gettimeofda()y()(3C)

N 

S 

S 

S 

getuid()(2V)

C 

SunOS 4.x では、getuid() は int 型の値を返す。SunOS 5.6、ABI、SVID、または SVR4 では、getuid() は type uid_t の値を返す。また、SunOS 5.6、ABI、SVID、および SVR4 では <unistd.h> と <sys/types.h> に含まれるが、SunOS 4.x では含まれない。

C 

C 

C 

N 

getuid()(2V) -SysV

S 

 

S 

S 

S 

N