MOUNT(2) — UNIX Programmer’s Manual
名称
mount − ファイルシステムをマウントする
形式
#include <sys/mount.h>
mount(type, dir, flags, data)
int type;
char ∗dir;
int flags;
caddr_t data;
解説
mount は、ディレクトリにファイルシステムを付加します。処理 が正常に終了した後では、ディレクトリ dir への 参照は、新たにマウントされたファイルシステム上のルート ディレクトリを参照します。 ディレクトリ dir は、パス名を含みナルで終了する文字列を示すポインタです。 これは、既に存在していなければならなく、 ディレクトリでなければなりません。 その古い内容は、ファイルシステム がマウントされている間はアクセスすることはできません。 引数 flags は、ファイルシステムに書き込みできるかどうかを 決定し、set-uid での実行が許されます。物理的に書き込み 保護されている場合や、磁気テープのファイルシステムは 読み出し専用でマウントしなければなりません。そうで なければ、明示的な書き込みが行われたかどうかに かかわらず、アクセス時刻が更新された時に エラーが発生します。 type は、ファイルシステムのタイプを示します。 mount.h で定義 されているタイプの 1つでなければなりません。 data は、マウント する特殊なタイプの引数を含む構造体を示すポインタです。以下 に、サポートされたファイルシステムのタイプと、その 各々の特殊なタイプの引数を示します。
MOUNT_UFS
struct ufs_args {
char∗fspec;/∗ マウントする特殊ファイルのブロック ∗/
};
MOUNT_NFS
#include<nfs/nfs.h>
#include<netinet/in.h>
struct nfs_args {
struct sockaddr_in ∗addr; /∗ ファイルサーバアドレス ∗/
fhandle_t∗fh;/∗ マウントすべきファイルハンドル ∗/
intflags;/∗ フラグ ∗/
intwsize;/∗ 書き込むバイトサイズ ∗/
intrsize;/∗ 読み出すバイトサイズ ∗/
inttime0;/∗ 0.1秒単位でのイニシャルタイムアウト ∗/
intretrans;/∗ リトライ送信回数∗/
};
リターン値
mount は、正常に終了した場合には 0 を返し、 special がアクセス不可能または適切なファイルではない場合、または name が存在していない場合、 special が既にマウントされている場合、 name が使用されている場合、マウントできる最大数のファイルシステム が既にマウントされている場合には、−1 を返します。
エラー
以下に示されている項目のうち 1 つが発生すると、 mount は失敗します。
[EPERM] 呼び出しユーザがスーパーユーザではない。
[ENOENT] special が存在していない。
[ENOTBLK] special がブロック型のデバイスではない。
[ENXIO] special のメジャーデバイス番号が範囲外である(これは、対応する ハードウェアのためのデバイスドライバが存在していないことを示す)。
[EPERM] パス名に上位ビットのセットされたキャラクタが含まれ ている。NEWS-OS では起きない。
[ENOTDIR] name のパスプレフィックスの構成要素がディレクトリではない。
[EBUSY] dir がディレクトリではない、または別のプロセスが現在それへの参照を保持している。
[EBUSY] ファイルシステムのスーパーブロックが、誤ったマジック番号を 持っていた、または範囲外のブロックサイズであった。
[EBUSY] ファイルシステムのシリンダグループ情報を読み取るために 必要なメモリが使用可能ではない
[EIO] スーパーブロックまたはシリンダグループ情報を読み取っている間に 入出力エラーが発生した。
[ENOTDIR] special または name の パスプレフィックスがディレクトリではない。
[EPERM] special または name の パス名に上位ビットのセットされたキャラクタが含まれている。NEWS-OS では 起きない。
[ENAMETOOLONG]
special または name の パス名が長すぎる。
[ENOENT] special または name が存在しない。
[EACCES] special または name のパスプレフィックスの 構成要素に対して検索する許可は許されない。
[EFAULT] special または name が、そのプロセスの割り当て アドレススペースの外を指している。
[ELOOP] special または name のパス名の処理で遭遇した シンボリックリンクの数が多すぎる。
[EIO] ファイルシステムからの読み出し、ファイルシステムへの書き込みの間に 入出力エラーが発生した。
関連事項
バグ
エラーコードは整列されていない状態です。多くのエラーが、ひとつの値として 呼び出しユーザに見えます。
NEWS-OSRelease 3.3