Solaris 移行ガイド

システムコールのリファレンス (I, K, L, M, O, P, Q)

表 B-2

SunOS 4.x システムコール 

SunOS 5.6  

注 

ABI 

SVID 

SVR4 

BSD 

ioctl()(2)

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

kill()(2V)

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

kill()(2V) -SysV

 

killpg()(2)

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

 

link()(2V) -SysV

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

listen()(2)

現在は listen()(3N)

lseek()(2V) -SysV

 

lstat()(2V) -SysV

 

mctl()(2)

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

mincore()(2)

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

mkdir()(2V)

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

シンボリックアクセスモード (<sys/stat.h>) の S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4.x の mkdir() によってサポートされるが、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> にも定義があるため、使用することができる。

mkdir()(2V) -SysV

シンボリックアクセスモード (<sys/stat.h>) の S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は SunOS 4.x の mkdir() によってサポートされるが、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> にも定義があるため、使用することができる。

mkfifo()(2V) -SysV

現在は mkfifo()(3C)

mknod()(2V) -SysV

mknod()mode 引数は、SunOS 4.x では int 型で、SunOS 5.6、ABI、SVID、または SVR4 では mode_t 型である。dev 引数は、SunOS 4.x では int 型で、 SunOS 5.6、ABI、SVID、または SVR4 では dev_t 型である。シンボリックアクセスモード (<sys/stat.h>) の S_IREAD (00400)、S_IWRITE (00200)、S_IEXEC (00100) は、SunOS 4.x の mknod() によってサポートされるが、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> にも定義があるため、使用することができる。

mmap()(2)

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

mount()(2)

C# 

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

SunOS 4.x の <sys/mount.h> は、SunOS 5.6、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.x の mount() に固有であり、SunOS 5.6、ABI、SVID、または SVR4 では置き換える必要はない。フラグ、M_NOSUBM_GRPIDM_MULTI の機能は、<sys/mount.h> に定義があり、SunOS 5.6、ABI、SVID、または SVR4 ではサポートされない。

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

 

C# 

C# 

C# 

mprotect()(2)

 

msgctl()(2)

 

msgget()(2)

 

msgrcv()(2)

 

msgsnd()(2)

 

msync()(2)

 

S# 

S# 

munmap()(2)

 

nfssvc()(2)

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

 

open()(2V)

C# 

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

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

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

 

C# 

C# 

C# 

open()(2V) -SysV

S# 

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

S# 

S# 

S# 

pathconf()(2V) -SysV

 

pipe()(2V) -SysV

 

poll()(2)

 

profil()(2)

 

ptrace()(2)

C# 

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

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

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

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

C# 

C# 

C# 

putmsg()(2)

 

quotactl()(2)

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