[Top] [Prev] [Next] [Bottom]


[Contents] [Index]

virgil - pose question to virgild daemon

include "security.m";

Virgil: module
{
        PATH:   con "/dis/lib/virgil.dis";
        virgil: fn(args: list of string): string;
};

Description

The Virgil module provides a client side interface for interactions with the virgild daemon connection (name resolution) service.

The Virgil module has a single member function also named virgil. The arguments to the virgil function are structured as if they had been fields of command line input. If they had been a command, the synopsis would be:

	cmd [-v address] [question]

The cmd name is irrelevant to virgil and is unconditionally discarded.To conform to this convention an arbitrary initial string must be provided.

The question field is the network hostname that is sent to virgild for translation into a network address.

The virgil function packages the input to the question format expected by virgild, sends it, and reads the reply. It tries up to five times.

The raw response from virgild is prefixed by the question posed. The virgil function strips that preface and returns the answer.

Options
-v The -v option is used to specify a network address for where the virgild daemon resides. The address must be of the form a.b.c.d, where each letter represents a decimal string. If used, the exact address must be provided. No name resolution is sought by virgil for the address field. If the -v option is not used, virgil broadcasts its request to the network for a service at service port virgil (udp port 2202) and interacts with the first daemon to respond.

Error Conditions

The virgil function returns nil if any of the input strings are missing or do not conform to the expected syntax.

Caveat

The Virgil module assumes that a remote connection service is being used (via the virgild daemon) because there is no local service. Consequently, it uses a hardcoded port number (UPD port 2202). In most cases, if the client could resolve the symbolic value for that port number (called virgil) it would not need to contact a remote service. If the network uses another value for the virgil port number, the Virgil module must be modified and recompiled.

See Also

virgild - connection service for remote clients in Chapter 6
register - command to register set-top-box identity with signer in Chapter 9



[Top] [Prev] [Next] [Bottom]

infernosupport@lucent.com
Copyright © 1997, Lucent Technologies, Inc.. All rights reserved.