XInternAtom(3) アトム名の生成と取得を行なう

Other Alias

XInternAtoms, XGetAtomName, XGetAtomNames

書式

Atom XInternAtom(display, atom_name, only_if_exists)

      Display *display;

      char *atom_name;

      Bool only_if_exists;

Status XInternAtoms(display, names, count, only_if_exists, atoms_return)

      Display *display;

      char **names;

      int count;

      Bool only_if_exists;

      Atom *atoms_return;

char *XGetAtomName(display, atom)

      Display *display;

      Atom atom;

Status XGetAtomNames(display, atoms, count, names_return)

      Display *display;

      Atom *atoms;

      int count;

      char **names_return;

引き数

atom
取得しようとしているプロパティ名に対するアトムを指定する。
atoms
アトムの配列を指定する。
atom_name
取得しようとしているアトムに対応する名前を指定する。
atoms_return
アトムが返される。
count
配列中にあるアトム名の数を指定する。
count
配列中にあるアトムの数を指定する。
display
X サーバへの接続を指定する。
names
アトム名の配列を指定する。
names_return
アトム名が返される。
only_if_exists
アトムを生成しなければならないかどうかを示す真偽値を指定する。

説明

関数 XInternAtom は指定した atom_name 文字列に対応するアトムの識別子を返す。 only_if_exists が False ならば、アトムが存在しない場合には新しく生成される。 したがって、 XInternAtom は常に None を返すことになる。 アトム名のエンコーディングがホストポータブル文字エンコーディングでない 場合、実行結果は実装依存である。 大文字と小文字は区別される。 したがって、``thing'', ``Thing'', ``thinG'' は全て異なるアトムとして区 別される。 クライアントの接続が閉じた後であっても、アトムは定義されたまま残る。 アトムが未定義にされるのは、X サーバへの最後の接続が閉じられた時である。

XInternAtom はエラー BadAlloc, BadValue を起こすことがある。

関数 XInternAtoms は指定した名前の配列に対応するアトム識別子の配列を返す。 アトムは呼び出し側が与える配列 atoms_return に格納される。 この関数の呼び出しは、それぞれの名前を使って only_if_exists を指定した XInternAtom を順に呼び出すことと同等である。しかし、この関数を使えばクライアントと X サーバ間のプロトコル交換の回数を最小化することができる。

この関数は、全ての名前に対してアトムが返された場合に 0 でない値を返し、 そうでない場合には 0 を返す。

XInternAtoms はエラー BadAlloc, BadValue を起こすことがある。

関数 XGetAtomName は指定したアトムに対応する名前を返す。 サーバが返すデータのエンコーディングが Latin ポータブル文字エンコーディ ングであれば、関数が返す文字列のエンコーディングはホストポータブル文字 エンコーディングである。 そでない場合の結果は実装依存である。 返された文字列を解放するには XFree を用いること。

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

関数 XGetAtomNames は指定したアトムの配列に対応する名前の配列を返す。 名前は呼び出し側が与える配列 names_return に格納される。 この関数を呼ぶことは、それぞれのアトムについて XGetAtomName を順に呼ぶことと等価である。しかし、この関数を使えば、クライアントと X サーバの間のプロトコル交換の回数を最小化することができる。

この関数は、全てのアトムに対する名前を返すことができる場合は 0 でない 値を返し、そうでない場合は 0 を返す。

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

返り値

BadAlloc
要求されたリソースやサーバメモリの割り当てにサーバが失敗した。
BadAtom
引き数 Atom の値が、定義されている Atom を指していない。
BadValue
数値の中にリクエストの許容範囲を越えているものがある。引き数に対して特定 の範囲が指定されていない場合、引き数の型の全ての範囲が許される。選択肢と して定義されている引き数は、このエラーを起こすことがある。