Solaris 移行ガイド

システムコール

表 B-1 システムコールのリファレンス: accept()auditsvc()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

accept()(2)

現在は accept()(3N)

access()(2V) -SysV

 

acct() (2)

C# 

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

C# 

C# 

C# 

adjtime()(2)

 

async_daemon()(2)

 

audit()(2)

 

auditon() (2)

 

auditsvc()(2)

 

表 B-2 システムコールのリファレンス: bind()brk()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

bind()(2)

現在は bind()(3N)

brk()(2)

 

表 B-3 システムコールのリファレンス: chdir()creat()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

chdir() (2V) -SysV

 

chmod()(2V) -SysV

C# 

シンボリックアクセスモード (<sys/stat.h>)、S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4 の chmod() によってサポートされるが、5.7、ABI、SVID、SVR4 ではサポートされない。

ただし、同等の SunOS 5.7、または ABI、SVID、SVR4 のシンボリックアクセスモードである S_IRUSR (00400)、S_IWUSR (00200)、S_IXUSR (00100) は同じ定義を持ち、SunOS 4 の <sys/stat.h> でも定義されているので使用できる。

C# 

C# 

C# 

chown() (2V)

SunOS 4 では、chown()owner および group 引数は int 型になる。SunOS 5.7、ABI、SVID、SVR4 では、owneruid_t 型、groupgid_t 型になる。

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

chown()(2V) -SysV

 

chroot()(2)

 

close()(2V) -SysV

 

connect()(2)

S# 

現在はconnect()(3N)

S# 

creat()(2V)

C# 

SunOS 4 では、creat()mode 引数は int 型で、SunOS 5.7、ABI、SVID、SVR4 では、mode 引数は mode_t 型。また、SunOS 5.7、ABI、SVID、SVR4 では <fcntl.h> に含まれるが、SunOS 4 では含まれない。シンボリックアクセスモード (<sys/stat.h>)、S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4 の creat() によってサポートされるが、 SunOS 5.7、ABI、SVID、SVR4 ではサポートされない。

ただし、同等の SunOS 5.7、または ABI、SVID、SVR4 のシンボリックアクセスモードである S_IRUSR (00400)、S_IWUSR (00200)、S_IXUSR (00100) は同じ定義を持ち、SunOS 4 の <sys/stat.h> でも定義されているので使用できる。errno フラグの ENXIO、EOPNOTSUPP は、SunOS 4 の chmod 関数には有効だが、SunOS 5.7、ABI、SVID、SVR4 では無効。

C# 

C# 

C# 

creat()(2V) -SysV

C# 

シンボリックアクセスモード (<sys/stat.h>)、S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4 の creat() によってサポートされるが、SunOS 5.7、ABI、SVID、SVR4 ではサポートされない。ただし、同等の SunOS 5.7、または ABI、SVID、SVR4 のシンボリックアクセスモードである S_IRUSR (00400)、S_IWUSR (00200)、S_IXUSR (00100) は同じ定義を持ち、SunOS 4 の <sys/stat.h> でも定義されているので使用できる。errno フラグの ENXIOEOPNOTSUPP は、SunOS 4 の chmod 関数には有効だが、SunOS 5.7、ABI、SVID、SVR4 では無効。

C# 

C# 

C# 

表 B-4 システムコールのリファレンス: dup()dup2()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

dup()(2V) -SysV

 

dup2()(2V) -SysV

現在は dup2()(3C)

表 B-5 システムコールのリファレンス: execve()_exit()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

execve()(2V) -SysV

 

_exit()(2V) -SysV

 

表 B-6 システムコールのリファレンス: fchdir()ftruncate()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

fchdir()(2V) -SysV

 

fchmod()(2V) -SysV

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

fchown()(2)

 

fchroot()(2)

 

fcntl()(2V) -SysV

SunOS 4 では、フラグ -O_APPEND-O_SYNC-O_NDELAY、また、<sys/file.h> に定義があるフラグ -FASYNC-FNDELAY-FNBIOF_SETFL コマンドで有効となる。SunOS 5.7、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 の F_GETOWN および F_SETOWN コマンドは SunOS 5.7、ABI、SVID、SVR4 ではサポートされない。

flock()(2)

 

fork()(2V)

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

fork()(2V) -SysV

 

fpathconf()(2V) -SysV

 

fstat()(2V) -SysV

 

fstatfs()(2)

fstatvfs()(2) システムコールに同等の機能がある。

fsync()(2)

 

ftruncate()(2)

現在はftruncate()(3C)

表 B-7 システムコールのリファレンス: getauid()getuid()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

getauid()(2)

 

getdents()(2)

 

getdirentries()(2)

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

getdomainname()(2)

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

getdtablesize()(2)

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

getegid()(2V)

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

getegid()(2V) -SysV

 

geteuid()(2V)

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

geteuid()(2V) -SysV

 

getgid()(2V)

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

getgid()(2V) -SysV

 

getgroups()(2V)

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

getgroups()(2V) -SysV

 

gethostid() (2)

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

gethostname()(2)

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

getitimer()(2)

 

getmsg()(2)

 

getpagesize()(2)

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

getpeername()(2)

S# 

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

S# 

getpgid()(2V)

 

getpgrp()(2V)

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

getpgrp()(2V) -SysV

 

getpid()(2V)

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

getpid()(2V) -SysV

 

getppid()(2V)

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

getppid()(2V) -SysV

 

getpriority()(2)

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

getrlimit()(2)

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

getrusage()(2)

現在は getusage()(3C)

getsockname()(2)

S# 

SunOS 4 の getsockname() が使用する errnoENOBUFS は、SVR4 と SunOS 5.7 では ENOSR に変更された。

S# 

getsockopt()(2)

現在は getsockopt()(3N)

gettimeofday()(2)

現在は gettimeofda()(3C)

getuid()(2V)

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

getuid()(2V) -SysV

 

表 B-8 システムコールのリファレンス: ioctl()

SunOS 4 システムコール 

SunOS 5.7  

注 

ABI 

SVID 

SVR4 

BSD 

ioctl()(2)

ioctl() 要求」ioctl() 要求を参照のこと。

表 B-9 システムコールのリファレンス: kill()killpg()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

kill()(2V)

SunOS 4 では、プロセスのグループにシグナルが送られ (同様に、pid が 0 または負であれば)、そしてシグナルを送るプロセスがそのグループのメンバであれば、そのシグナルは送り元のプロセスには送られない。SunOS 5.7、ABI、SVID、または SVR4 では、シグナルは送り元のプロセスにも送られる。SunOS 4 では、pid 引数は int 型で、SunOS 5.7、ABI、SVID、または SVR4 では、pid 引数は pid_t 型である。また、SunOS 5.7、ABI、SVID、SVR4 では <sys/types.h> に含まれるが、SunOS 4 では含まれない。

kill()(2V) -SysV

 

killpg()(2)

現在では killpg()(3C)kill()(2) が同様の機能を提供する。killpg()(pgrp, sig) を kill()(-pgrp, sig) に置き換える。

 

表 B-10 システムコールのリファレンス: link()lstat()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

link()(2V) -SysV

SunOS 5.7、ABI、SVID、または SVR4 の link() では、最初の引数の最後の部分がシンボリックリンクならば、リンクをたどらず、シンボリックリンクへのハードリンクが作成される。

listen()(2)

現在は listen()(3N)

lseek()(2V) -SysV

 

lstat()(2V) -SysV

 

表 B-11 システムコールのリファレンス: mctl()munmap()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

mctl()(2)

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

mincore()(2)

SunOS 4 では、引数 lenint 型で、SVR4 と SunOS 5.7 では、引数 len は、unsigned int 型となるように定義される size_t 型である。また、SunOS 5.7 では <unistd.h> をインクルードする必要がある。

mkdir()(2V)

SunOS 4 では、モード引数は int 型で、SunOS 5.7、ABI、SVID、または SVR4 ではモード引数は mode_t 型である。また、SunOS 5.7、あるいは ABI、SVID、SVR4 では <sys/types.h><sys/stat.h> に含まれるが、SunOS 4 では含まれない。

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

mkdir()(2V) -SysV

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

mkfifo()(2V) -SysV

現在は mkfifo()(3C)

mknod()(2V) -SysV

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

mmap()(2)

SunOS 4 では、-mmap フラグオプションの値に、<sys/mman.h> で定義されている MAP_TYPE が含まれており、この MAP_TYPE は SunOS 5.7、ABI、SVID、または SVR4 の <sys/mman.h> では定義されていない。

mount()(2)

C# 

SunOS 4 の mount() と、SunOS 5.7、ABI、SVID、SVR4 の mount() は、多くの点で互換性がない。SunOS 4 の最初の引数 type はファイルシステム形式の名前だが、SunOS 5.7、ABI、SVID、または SVR4 では、最初の引数は fs であり、ファイルシステムの名前である。SunOS 5.7、ABI、SVID、または SVR4 では、ファイルシステム形式の名前 fstype は、mount() の第 4 引数となる。SunOS 4 では、形式に固有な引数を渡すのに 1 つのパラメータ (第 4 の引数である caddr_t data) を使用するが、SunOS 5.7、ABI、SVID、または SVR4 では 2 つのパラメータを使用する (5 と 6、つまり const char *dataptrint datalen)。また、SunOS 5.7、ABI、SVID、SVR4 では <sys/mount.h> の前にある <sys/types.h> に含まれるが、SunOS 4 では含まれない。

SunOS 4 の <sys/mount.h> は、SunOS 5.7、ABI、SVID、または SVR4 の <sys/mount.h> で定義されない mount() flags 引数 (M_NEWTYPE, M_RDONLY, M_NOSUID, M_NEWTYPE, M_GRPID, M_REMOUNT , M_NOSUB, M_MULTI) に対するシンボリック定数を定義する。かわりに、M_RDONLYMS_RDONLY に、M_NOSUIDMS_NOSUID に、M_REMOUNTMS_REMOUNT に置き換える必要がある。M_NEWTYPE フラグは、SunOS 4 の mount() に固有であり、SunOS 5.7、ABI、SVID、または SVR4 では置き換える必要はない。フラグ、M_NOSUBM_GRPIDM_MULTI の機能は、<sys/mount.h> に定義があり、SunOS 5.7、ABI、SVID、または SVR4 ではサポートされない。

SunOS 4 の mount() は、SunOS 5.7、ABI、SVID、または SVR4 によって返されない errno 値、ENODEVEACCESEMFILEENOMEM を使用する。

 

C# 

C# 

C# 

mprotect()(2)

 

msgctl()(2)

 

msgget()(2)

 

msgrcv()(2)

 

msgsnd()(2)

 

msync()(2)

 

S# 

S# 

munmap()(2)

 

表 B-12 システムコールのリファレンス: nfssvc()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

nfssvc()(2)

このインタフェースは、nfssys()(NFS_SVC,... ) ルーチンにより、SunOS 5.7 で置き換えられる。

 

表 B-13 システムコールのリファレンス: open()open() - SysV

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

open()(2V)

C# 

open() への mode 引数は、SunOS 4 ソフトウェアでは int 型で、SunOS 5.7、ABI、SVID、または SVR4 では mode_t 型である。SunOS 4 では、path 引数が空の文字列ならば、カーネルは、この空のパス名をカレントディレクトリ「.」にマップする。SunOS 5.7、ABI、SVID、または SVR4 では、path が空の文字列を指す場合、エラーが発生する。SunOS 4 では、O_NDELAY または O_NONBLOCK フラグがオープンするコールに設定されると、open() コール自身だけが有効にされる。SunOS 5.7、ABI、SVID、または SVR4 では、O_NDELAY または O_NONBLOCK フラグが open() へのコールに設定されると、そのファイル記述子に同等のフラグが設定され、その記述子への次の読み書きはブロックされない。

また、SunOS 5.7、ABI、SVID、SVR4 では <sys/types.h><sys/stat.h> に含まれるが、SunOS 4 では含まれない。

errnoEOPNOTSUPP は、SunOS 4 の open() には有効だが、SunOS 5.7、ABI、SVID、または SVR4 では返されない。

 

C# 

C# 

C# 

open()(2V) -SysV

S# 

errnoEOPNOTSUPP は、SunOS 4 の open() には有効だが、SunOS 5.7、ABI、SVID、または SVR4 では返されない。

S# 

S# 

S# 

表 B-14 システムコールのリファレンス: pathconf()putmsg()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

pathconf()(2V) -SysV

 

pipe()(2V) -SysV

 

poll()(2)

 

profil()(2)

 

ptrace()(2)

C# 

SunOS 4 の ptrace() へのオプションの addr2 引数は、SunOS 5.7 ルーチンではサポートされない。ptrace() への要求引数は、SunOS 4 では enum ptracereq 型で、SunOS 5.7 では int() 型。ptrace() への pid 引数は、SunOS 4 では int() 型で、SunOS 5.7 では pid_t() 型。

また、SunOS 4 では <sys/types.h> に含まれるが、SunOS 5.7 では <signal.h><sys/ptrace.h>、および <sys/wait.h> に含まれる。

errno フラグの EPERM は、SunOS 4 の ptrace() には有効だが、SunOS 5.7 では無効。

有効な request 値に関する情報については、ptrace() 要求値」を参照のこと。

C# 

C# 

C# 

putmsg()(2)

 

表 B-15 システムコールのリファレンス: quotactl()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

quotactl()(2)

Q_QUOTACTL ioctl() が同様の機能を提供する。

表 B-16 システムコールのリファレンス: read()rmdir()

SunOS 4 システムコール 

SunOS 5.7  

注 

ABI 

SVID 

SVR4 

BSD 

read()(2V)

C# 

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

C# 

C# 

C# 

read()(2V) -SysV

C# 

read()nbyte 引数は、SunOS 4 では int() 型で、SunOS 5.7 では unsigned() 型である。

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

errno フラグの EISDIREWOULDBLOCK は、SunOS 4 の read() には有効だが、SunOS 5.7 では無効。

C# 

C# 

C# 

readlink()(2)

 

readv()(2)

C# 

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

C# 

C# 

C# 

readv()(2V) -SysV

C# 

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

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

S# 

S# 

S# 

rmdir()(2V) -SysV

S# 

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

S# 

S# 

S# 

表 B-17 システムコールのリファレンス: sbrk()sysconf()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

sbrk()(2)

 

select()(2)

現在は select()(3C)

semctl()(2)

 

semget()(2)

 

semop()(2)

 

send()(2)

S# 

現在は send()(3N)

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

S# 

sendmsg(2)()

S# 

現在は sendmsg()(3N)

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

S# 

sendto()(2)

S# 

現在は sendto()(3N)

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

S# 

setaudit()(2)

 

setauid() (2)

 

setdomainname()(2)

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

setgroups()(2V)

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

setgroups()(2V) -SysV

 

sethostname()(2)

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

setitimer()(2)

 

setpgid()(2V) -SysV

 

setpgrp() (2V)

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

C# 

C# 

C# 

setpgrp()(2V) -SysV

errno フラグの EACCESEINVALESRCH は SunOS 4 の setpgrp()(2V) には有効だが、SunOS 5.7、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.7、ABI、SVID、または SVR4 が同様の機能を提供する。

sigpause()(2V) -SysV

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

sigpending()(2V) -SysV

 

sigprocmask()(2V) -SysV

 

sigsetmask()(2)

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

sigstack()(2)

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

sigsuspend()(2V) -SysV

 

sigvec()(2)

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

socket()(2)

C# 

現在は socket()(3N)

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

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)

表 B-18 システムコールのリファレンス: tell()truncate()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

tell()(2V) -SysV

 

truncate()(2)

現在は truncate()(3C)

表 B-19 システムコールのリファレンス: umask()utimes()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

umask(2V) -SysV()

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

umount()(2V) -SysV

 

uname()(2V) -SysV

 

unlink()(2V) -SysV

 

unmount()(2)

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

ustat()(2)

 

utimes()(2)

 

表 B-20 システムコールのリファレンス: vadvise()vhangup()

SunOS 4 システムコール 

SunOS 5.7 

注 

ABI 

SVID 

SVR4 

BSD 

vadvise()(2)

 

vfork()(2)

 

vhangup()(2)

 

表 B-21 システムコールのリファレンス: wait()WTERMSIG()

SunOS 4 システムコール 

SunOS 5.7  

注 

ABI 

SVID 

SVR4 

BSD 

wait()(2V)

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

wait()(2V) -SysV

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

wait3()(2V)

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

wait4()(2V)

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

waitpid()(2V)

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

waitpid()(2V) -SysV

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

WEXITSTATUS()(2)

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

WIFEXITED()(2)

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

WIFSIGNALED()(2)

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

WIFSTOPPED() (2)

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

write()(2V)

C# 

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

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

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

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

 

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

C# 

C# 

C# 

write()(2V) -SysV

C# 

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

C# 

C# 

C# 

writev()(2V)

C# 

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

C# 

C# 

C# 

WSTOPSIG()(2)

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

WTERMSIG()(2)

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