Other Alias
XStoreBytes, XStoreBuffer, XFetchBytes, 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 文字で終わる必 要もない。 カットバッファの内容は後で任意のクライアントから 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
- 指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。