Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ Xau(3X) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

xauth(1)

xdm(1)

XAUTH(3X)  —  UNIX Programmer’s Manual

名称

XauFileName, XauReadAuth, XauLockAuth, XauUnlockAuth, XauWriteAuth, XauGetAuthByAddr - X のデータベースルーチン

形式

#include <X11/Xauth.h>

typedef struct xauth {
 unsigned short family;
 unsigned short address_length;
 char ∗address;
 unsigned short number_length;
 char ∗number;
 unsigned short name_length;
 char ∗name;
 unsigned short data_length;
 char ∗data;
} Xauth;
 char ∗XauFileName ()
 Xauth ∗XauReadAuth (auth_file)
 FILE ∗auth_file;
 int XauWriteAuth (auth_file, auth)
 FILE ∗auth_file;
 Xauth ∗auth;
 Xauth ∗XauGetAuthByAddr (family,
address_length, address,
number_length, number)
 unsigned short family;
 unsigned short address_length;
 char ∗address;
 unsigned short number_length;
 char ∗number;
 int XauLockAuth (file_name, retries, timeout, dead)
 char ∗file_name;
 int retries;
 int timeout;
 long dead;
 int XauUnlockAuth (file_name)
 char ∗file_name;
 XauDisposeAuth (auth)
 Xauth ∗auth;
 

解説

XauFileName は、 XAUTHROTIY 環境変数がセットされていれば、まずチェックし、それに よってデフォルトのオーソリゼーションファイル名を作成し、セットされて いなければ、 $HOME/.Xauthority を返します。 この名前は静的に割り当てられ、決して解放されません。

XauReadAuth は、 auth_file から、 次のエントリを読み込みます。 そのエントリは、静的に割り当てられず XauDisposeAuth をコールすることにより、解放しなければなりません。

XuWriteAuth は、 auth_file へオーソリゼーションを書き込みます。 成功の場合は 1 を、失敗の場合は 0 を返します。

XauGetAuthByAddr は、与えられたネットワークのアドレス/ディスプレイ番号のペアと一致する エントリを検索します。 そのエントリは、 静的に割当てられず、 XauDisposeAuth をコールすることによって、解放しなければなりません。

XauLockAuth は、同時にオーソリゼーションファイルを、更新するのに必要な作業をしま す。 まず初めに、 XauLockAuth は、 2 つのファイル名を作成します。 1 つは、 “-c” を file_name に付加したもの、 もう 1 つは、 “-l” を file_name に付加したものです。 “-c” ファイルがすでに存在し、 dead 秒以上時間のたっているものである場合は、 XauLockAuth は、 “-c” ファイルと、それに対応する、 “-l” ファイル を削除します。 NFS との起こりえる同期化トラブルを防ぐために、 dead 値 0 は、ファイルを強制的に削除させます。 XauLockAuth は、 ファイル名の作成、およびリンクを retries 回試み、各処理の間、 timeout 秒ポーズします。 XauLockAuth は、その結果により値のコレクションを返します。

  LOCK_ERROR             システムエラーが発生した。
            file_name が長すぎたか、またはシステム
            コールで、予期せぬエラーが発生したかの
            いずれかである。
            errno が利用できます。
  LOCK_TIMEOUT           retries 回失敗した。
  LOCK_SUCCESS           ロックが成功した。
 

XauUnlockAuth は、 “-c” と “-l” のファイル名の両方を、アンリンクすることによって、 XauLockAuth の作業をアンドゥします。

XauDisposeAuth は、オーソリゼーションエントリを保持するために、割り当てられた記憶領域 を解放します。

関連事項

xauth(1), xdm(1)

版権

Copyright 1988, Massachusetts Institute of Technology.  権利と許可の声明文については、 X(1) を参照のこと。
See X(1) for a full statement of rights and permissions. 

著者

Keith Packard, MIT X Consortium

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026