XStoreBytes(3X11)

名前
XStoreBytes, XStoreBuffer, XFetchBytes, XFetchBuffer, XRotateBuffers - カット・アンド・ペースト用バッファを操作する

書式
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 文字で終わる必 要もない。 カットバッファの内容は後で任意のクライアントから を呼び出すことで取り出せる。

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

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

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

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

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

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

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

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

返り値

要求されたリソースやサーバメモリの割り当てにサーバが失敗した。

引き数 Atom の値が、定義されている Atom を指していない。

引き数や引き数の組は正しい型・範囲を持っているが、そのリクエストが要求する
    他の条件に適合できなかった。

指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対
    して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。

関連項目
XFree(3X11)
Xlib - C Language X Interface