XInternAtom(3X11)

名前
XInternAtom, 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
    アトムを生成しなければならないかどうかを示す真偽値を指定する。

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

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

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

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

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

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

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

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

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

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

返り値

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

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

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

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