<function>
<fname proprety="Applicative Order / LEVEL: 1 ">
Agent
</fname>
<prototype>
LISP形式

([Agent passwd="required/anonymous" dircheck="on/off"]
	string-exp(group)
	string-exp(agent)
	string-exp(login mode)
	env-exp
	func-exp)

XML形式

<Agent passwd="required/anonymous" dircheck="on/off">
	string-exp(group)
	string-exp(agent)
	string-exp(login mode)
	env-exp
	func-exp
</Agent>
</prototype>
<prototype>
C関数宣言
</prototype>
<explanation>
サーバのみで使用可能な命令。SetAgentによって認証、駆動されるエージェントの情報を設定する。 

エージェントのホストパスと、エージェント名、ログインモードを指定し、駆動時の環境と駆動方法を示した関数を指定する。 

フィールド指定のpasswdはパスワードが必要か否かを指定する。requiredを指定すると、必要であるという意味になる。anonymousは必要ないことを示す。デフォルトはrequired である。dircheckをonにすると、agentはディレクトリ名あるいは、パス名であると見なし、認証時に、親ディレクトリを参照したり、見えないディレクトリを参照するなどの不正参照がないかをチェックする機能をONにする。 

func-exp()に指定されている状態で認証に成功すると、SetAgentを含むルート要素の実行終了時に、カレントディレクトリをenv-expへ変更する。func-expに関数が指定されている状態で認証に成功すると、env-expをカレント環境としてfunc-expが実行される。 

func-expの引数は、(func-exp group agent login-mode user) という形で、いずれも文字列型である。
</explanation>
</function>
