SWAPON(2)

名称
swapon - インターリーブページング / スワップ用にスワップデバイスを追加

ライブラリ
libc

書式
<unistd.h> int swapon(const char *special)

解説
swapon() は、システムがページングとスワッピングの割り当てにブロックデバイス special を使用できるようにします。 潜在的に使用できるデバイスの名前はシステムに知られていて、 システム設定時に定義されます。 special のスワップ領域のサイズは、デバイスがスワッピングに 初めて使用できるようになるときに算出されます。

戻り値
エラーが発生した場合は -1 が返され、エラーを示すために errno が設定されます。

エラー
swapon() は、以下のような場合に処理を失敗します:

[ENOTDIR]
    パスの構成要素中にディレクトリ以外のものが含まれています。

[ENAMETOOLONG]
    パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。

[ENOENT]
    指定したデバイスが存在しません。

[EACCES]
    指定されたパスには、検索が許可されていないディレクトリが含まれています。

[ELOOP]
    パス名を変換するときに検出されたシンボリックリンクが多すぎます。

[EPERM]
    スーパユーザ以外のユーザによって呼び出されました。

[ENOTBLK]
    special はブロックデバイスではありません。

[EBUSY]
    special で指定したデバイスは、すでにスワッピングに使用できるようになっています。

[EINVAL]
    special で設定したデバイスが、システムにスワップデバイスとして設定されていません。

[ENXIO]
    special のメジャーデバイス番号が範囲外になっています (これは関連するハードウェアに対応するデバイスドライバが 存在しないことを表します)。

[EIO]
    スワップデバイスをオープンする間に入出力エラーが発生しました。

[EFAULT]
    special は、プロセスに割り当てられたアドレス空間の範囲外を指しています。

関連項目
config(8), swapon(8)

バグ
パックを取り外せるようにするためにディスクのスワッピングを停止する方法は ありません。

この呼び出しは、システムの将来のバージョンでアップグレードされます。

歴史
swapon() 関数呼び出しは、 4.0BSD で登場しました。