JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... write () は、 buf から始まるバッファーから、ファイルディスクリプター fd が参照するファイルへ、最大 count バイトを書き込む。 書き ... き込み前に ファイルの末尾に設定される。 ファイルオフセットの調整と書き込み操作はアトミックな処理として 実行される。 POSIX は write () が行なわれた後に実行した read (2) が 新しいデータを返すことを要求している。 全てのファイルシステムが POSIX 準拠ではない ... 書き込まれたバイト数が返される。エラーの場合、 -1 が返り、 errno にエラーの原因を示す値が設定される。 Note that a successful write () may transfer fewer than count bytes. Such partial writes can occur for various reasons; for example, because there was ... ... できるようにする。 write コマンドを実行すると、宛先のユーザは次のような形のメッセージを受け取る。 Message from yourname@yourhost on yourtty at hh:m ... なたが続けて入力する行は、1 行入力するたびに宛先の端末にコピーされる。 もし宛先の人が返事をしたいと思ったら、その人もやはり write を実行しなければならない。 用件が済んだら、ファイル終端文字か割り込み文字を入力する (訳注: 前者は Control-d、後者は Contro ... そうしているのである。 メッセージを送りたい相手が、2 つ以上の端末にログインしている場合は、 どの端末にメッセージを送るかを、 write コマンドの 2 番目の引き数で指定することができる。あるいは、端末の選択を write に任せてしまってもよい。その場合、 write は、 ... ... tdio (3) ではバッファーリングが行われるので、 stdio 関連の関数ではレコードのロックの使用は回避される; 代わりに read (2) や write (2) を使用すること。 上記で説明したレコードロックはプロセスと関連付けられる (以下で説明するオープンファイル記述ロックと異な ... く、 オープンファイル記述の最後のクローズ時にのみ自動的に解放される。 Conflicting lock combinations (i.e., a read lock and a write lock or two write locks) where one lock is an open file description lock and the other is a traditional record lock confli ... ックは全てのプロセスに対して効果がある。 あるプロセスが互換性のない強制ロックが適用されたファイル領域に対して ( read (2) や write (2) により) 互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルのオープンファイル記述で O_NONBLOCK ... ... tdio (3) ではバッファーリングが行われるので、 stdio 関連の関数ではレコードのロックの使用は回避される; 代わりに read (2) や write (2) を使用すること。 上記で説明したレコードロックはプロセスと関連付けられる (以下で説明するオープンファイル記述ロックと異な ... く、 オープンファイル記述の最後のクローズ時にのみ自動的に解放される。 Conflicting lock combinations (i.e., a read lock and a write lock or two write locks) where one lock is an open file description lock and the other is a traditional record lock confli ... ックは全てのプロセスに対して効果がある。 あるプロセスが互換性のない強制ロックが適用されたファイル領域に対して ( read (2) や write (2) により) 互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルのオープンファイル記述で O_NONBLOCK ... ... 指すバッファーに記載された I/O リクエストをキューに入れる。この関数は write (2) の非同期版である。 呼び出し write(fd, buf, count) の各引数は aiocb が指す構造体の aio_fildes , aio_buf , aio_nbytes に ... ータは絶対位置 aiocbp->aio_offset を開始点として書き込まれる。 O_APPEND が設定されている場合、データはファイルの末尾に、 aio_write () の呼び出しが行われたのと同じ順序で書き込まれる。この呼び出しの後のファイルオフセットは規定されていない。 「非同期」とは ... 大オフセットと同じかそれを超えている。 EINVAL aio_offset , aio_reqprio , aio_nbytes のうち 1 つ以上が無効である。 ENOSYS aio_write () は実装されていない。 バージョン The aio_write () 関数は glibc 2.1 以降で利用できる。 属性 この節で使用されている用語の説 ... ... うとした場合、 read (2) はデータが読み出し可能になるまで停止する。 プロセスがフル状態のパイプに書き込みを行おうとした場合、 write (2) は書き込みを完了するのに十分な量のパイプからの読み出しが 行われるまで停止する。 非停止 (nonblocking) I/O を使うこともで ... ) が見える ( read (2) は 0 を返す)。 パイプの読み出し側を参照しているファイルディスクリプターが すべてクローズされた後で、 write (2) を行うと、呼び出し元プロセスに SIGPIPE シグナルが送られる。 呼び出し元プロセスがこのシグナルを無視しているときには、 w ... れるようになる。 パイプには lseek (2) を行うことはできない。 パイプの容量 パイプの容量には上限がある。 パイプがフルの場合、 write (2) は停止したり失敗したりする。どちらになるかは O_NONBLOCK フラグがセットされているかどうかに依存する (下記参照)。 実装に ... ... ィールドを持つ構造体である。 この構造体は以下のように定義されている。 typedef struct { cookie_read_function_t *read; cookie_write_function_t *write; cookie_seek_function_t *seek; cookie_close_function_t *close; } cookie_io_functions_t; 4 つのフィールド ... すべきである。 *read がヌルポインターの場合、 独自のストリームからの読み出しは常にファイル末尾 (end of file) を返す。 cookie_write_function_t *write この関数はストリームに対する write 操作を実装する。 呼び出される際、 3 つの引数を受け取る。 ssize_t writ ... と size は、 それぞれ、 ストリームへの出力するデータが入ったバッファーとそのバッファーのサイズである。 関数の結果として、 write 関数は buf からコピーされたバイト数を返し、 エラーの場合は -1 を返す。 (この関数は負の値を返してはならない。) write 関数は ... ... ファイルの初期サイズは 0 に設定される。 呼び出しの後に、 ftruncate (2) を使ってファイルサイズを設定すべきである (代わりに、 write (2) や同様の関数を呼び出してファイルにデータを書き込むこともできる)。 name に指定された名前はファイル名として使用され、 デ ... o place one or more seals on the file, in order to restrict further modifications on the file. (If placing the seal F_SEAL_WRITE , then it will be necessary to first unmap the shared writable mapping created in the previous step. Otherwise, behavior s ... imilar to F_SEAL_WRITE can be achieved by using F_SEAL_FUTURE_WRITE , which will prevent future writes via mmap (2) and write (2) from succeeding ... ... t iovec * iov , int iovcnt ); ssize_t writev(int fd , const struct iovec * iov , int iovcnt ); ssize_t preadv(int fd , const struct iovec * iov , int iovcnt , off_t o ... ffset ); ssize_t pwritev(int fd , const struct iovec * iov , int iovcnt , off_t offset ); ssize_t preadv2(int fd , const struct iovec * iov , int ... iovcnt , off_t offset , int flags ); ssize_t pwritev2(int fd , const struct iovec * iov , int iovcnt , off_t offset , int flags ); glibc 向けの機能検査マクロの要件 ( feature_ ... ... t iovec * iov , int iovcnt ); ssize_t writev(int fd , const struct iovec * iov , int iovcnt ); ssize_t preadv(int fd , const struct iovec * iov , int iovcnt , off_t o ... ffset ); ssize_t pwritev(int fd , const struct iovec * iov , int iovcnt , off_t offset ); ssize_t preadv2(int fd , const struct iovec * iov , int ... iovcnt , off_t offset , int flags ); ssize_t pwritev2(int fd , const struct iovec * iov , int iovcnt , off_t offset , int flags ); glibc 向けの機能検査マクロの要件 ( feature_ ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。