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 サーバ間のプロトコル交換の回数を最小化することができる。

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

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

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

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

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

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

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

返り値

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

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

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

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