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 にはゼロがセットされ る。 適切な量のメモリがアロケートされ、そのポインタが返される。 クライアントはデータを使い終わった後、 を呼んでメモリを解放しなければならない。

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

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

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

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

返り値

サーバが、要求されたリソースやサーバメモリのアロケートに失敗した。

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

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

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

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