XRotateBuffers(3) カット・アンド・ペースト用バッファを操作する

Other Alias

XStoreBytes, XStoreBuffer, XFetchBytes, XFetchBuffer

書式

XStoreBytes(display, bytes, nbytes)

      Display *display;

      char *bytes;

      int nbytes;

XStoreBuffer(display, bytes, nbytes, buffer)

      Display *display;

      char *bytes;

      int nbytes;

      int buffer;

char *XFetchBytes(display, nbytes_return)

      Display *display;

      int *nbytes_return;

char *XFetchBuffer(display, nbytes_return, buffer)

      Display *display;

      int *nbytes_return;

      int buffer;

XRotateBuffers(display, rotate)

      Display *display;

      int rotate;

引き数

buffer
バイト列を格納するバッファを指定する。 あるいは、格納しているデータが返されるバッファを指定する。
bytes
バイト列を指定する。 これは必ずしも ASCII でなくてもよいし、NULL で終わる必要もない。
display
X サーバへの接続を指定する。
nbytes
格納するバイト数を指定する。
nbytes_return
バッファ内のデータのバイト数が返される。
rotate
カットバッファをローテートさせる量を指定する。

説明

データの途中に NULL 文字があっても良いし、データが NULL 文字で終わる必 要もない。 カットバッファの内容は後で任意のクライアントから XFetchBytes を呼び出すことで取り出せる。

XStoreBytes はエラー BadAlloc を起こすことがある。

不正なバッファが指定された場合、この呼び出しでは何も起こらない。 データの途中に NULL 文字があっても良いし、データが NULL 文字で終わる必 要もない。

XStoreBuffer はエラー BadAlloc を起こすことがある。

関数 XFetchBytes は、カットバッファ内にデータがあれば、引き数 nbytes_return にそのバイト 数を返す。 そうでない場合は関数は NULL を返し、nbytes_return には 0 が設定される。 適切な量のメモリが割り当てられ、そのポインタが返される。 クライアントはデータを使い終わった後、 XFree を呼んでメモリを解放しなければならない。

関数 XFetchBuffer は、バッファ内にデータがない場合と不正なバッファが指定された場合には 引き数 nbytes_return に 0 を返す。

XFetchBuffer はエラー BadValue を起こすことがある。

関数 XRotateBuffers はバッファをローテートさせる。これはバッファ 0 をバッファ n とし、 バッファ 1 を n + 1 mod 8 にするという形で行われる。 このカットバッファの番号付けはディスプレイについて大域的なものである。 8 つのバッファがいずれも作られていない場合には、 XRotateBuffers はエラー BadMatch となることに注意せよ。

XRotateBuffers はエラー BadMatch を起こすことがある。

返り値

BadAlloc
要求されたリソースやサーバメモリの割り当てにサーバが失敗した。
BadAtom
引き数 Atom の値が、定義されている Atom を指していない。
BadMatch
引き数や引き数の組は正しい型・範囲を持っているが、そのリクエストが要求する 他の条件に適合できなかった。
BadValue
指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。