ELMADMIN(1)

NAME
elmadmin - administration program

SYNOPSIS
elmadmin [ -b cid -c -d -e keydir -h -i -k -l -n -q -r # -s -v # -V C -x -z]
[ features | alias | feature=alias,... ]

DESCRIPTION
Elmadmin is a license administrator program for use with embedded applications. On and its functions include installing license keys, listing the users of licensed products, and other administrative functions. On its only function is the installation of license keys.

WINDOWS USAGE
ElmAdmin consists of a dialog box which displays the machine name and the server code for that machine, and supplies text entry fields for both the key directory pathname and the actual key. There is also a text entry field in which additional hosts may be specified if so desired (click on "Add" to add each new host name). All other administrative functions are divided between the applications ElmCntrl (runtime server control), ElmQuery (information on active clients and servers) and the control panel applet ElanLM (start and stop server).

UNIX AND VMS OPTIONS
Those options marked with an asterisk (*) may only be invoked by: [1] On the owner of the current license server process, the super-user, or any member of group ``wheel''; [2] On a user with both WORLD and SYSPRV privileges.

-b cid *
    Bury client. Return all licenses used by the client whose client ID is cid, and mark this client as dead. The client ID (CID) may be determined with ``elmadmin -l''.

    A buried client will continue to run, but without licenses, and all subsequent functions from the client that communicate with the license server, including any elm_alive calls, will return an error.

-c  Creates a license key file. Elmadmin will print a server code which the customer gives to the application vendor who, in turn, will supply a key. Note that a single application may have one or more keys, one for each feature.

    If an alias appears as the final argument, then this name will be installed as an alias for this feature. One typically creates an alias for numeric features. Subsequent commands such as ``elmadmin -l'' will print the alias instead of the feature name.

    A list of definitions may also appear on the command line. Upon decoding the key input, the feature name gleaned from the key will be matched against the list of definitions. If a match is found, the name following the ``='' sign is taken as the feature alias. This provides a convenient way of specifying feature aliases within shell scripts. For example,

    elmadmin -c 01=avalon,02=avaview,03=avaproof

    will cause the alias avalon to be selected, if the key decodes with the feature 01.

    By default, the key file is placed in the key directory /usr/lib/elm on systems or SYS$SYSDEVICE:[ELM] on systems, unless the -e option described below is used. In either case, the key directory is not created, but should already exist.

    Here's an example:
    elmadmin -c -e /usr/lib/elm avalon

-d  Send an ELMC_DUMP command to the daemon elmd. This command causes elmd to print the contents of the elmd database to the log file. It is mostly used for testing and debugging.

-e  This option is only meaningful when the create option -c, described above, is used. By default, license keys are placed in the directory /usr/lib/elm on systems or SYS$SYSDEVICE:[ELM] on systems. The -e option specifies a different key directory. Thus,

    elmadmin -e /local/elan -c

    will cause the license key to be created in the directory /local/elan on a system and

    elmadmin -e dua1:[elan] -c

    will cause the license key to be created in the directory dua1:[elan] on a system. Please note that this directory must already exist — elmadmin does not create it.

-h  When used with -l, produces a more expanded listing including each client's hold time and the shared license count.

    The hold time is the period after the client exits that the licenses will be held (reserved) for the user. If the user starts the application again before the hold period ends, the held licenses will be assigned to him. The hold time is specified in the resource file: see elm_resource(5). A minimum hold period may also be set within the application with the ELMC_SETHOLD option of elm_control(3). If the client is held, column one of the listing will be flagged with an ``H''.

    The shared license count is the number of clients that are currently sharing the license for the indicated feature. If the client has one or more shared licenses, column one of the listing will be flagged with an ``S''.

-i  Prints the release number of elmadmin and the release of the library it was compiled with.

-k *
    Kill daemon elmd. The daemon will gracefully terminate upon receipt of the kill request.

-l  Lists the current users and outstanding licenses available for all features known to all license managers on the network. Known features are those features used since the daemon was started (usually the last time the system was rebooted.) If features are given on the command line, the listing is restricted to the features named.

    Here's an example listing:

     | CID | LID | User | Feature | Group | Started
     | 1 | 1 | jon@elan,enzo:0 | avalon | - | May 12 14:45
    S | 3 | 2 | marcia@elan,mel:0 | avalon | - | May 12 07:13
    S | 4 | 2 | marcia@elan,mel:0 | avalon | - | May 12 07:13
    H | 5 | 3 | jeff@trager,unix:0 | avalon | - | Apr 29 09:47
    avalon [98]: 50 licenses, 25 in use; installed Feb-12-93. avalon [98]: 'u'Expires Jun-12-93.

    An ``H'' in column one indicates that this client is a held client. Such a client is one that has exited, but the licenses are held for a certain period. Held licenses are discussed under elm_resource(5). The hold period may also be listed with the -h option above.

    A ``D'' in column one indicates that this client is connected but disabled (redundant servers mode but there are too few servers running currently.)

    An ``S'' in column one indicates that this client has a shared license for the indicated feature. Shared license groups share the same LID.

    The next field, CID, is the client ID. Each client application will be assigned a unique ID. The CID may be used with the -b option described above.

    The LID is the license ID. These are unique license numbers. Each client will normally have unique LIDs for each licensed feature, except when the license is shared. If clients share a license, they share the LID.

    The user is displayed as user@host,display where display is the value of the X-11 DISPLAY when the application was invoked. The display may be missing for non X-11 applications.

    The -l option scans all servers of the network, as well any defined by elm_host(3).

-n  Default. Generates a numeric-only code.

-q  Query. Print various environment information for debugging. Output includes the current host name, its IP address, the name of the elm_host(3) environment variable and its current setting, the current port, and license service name, the Vendor ID, and the hostcode value.

-r #
    Ready-key mode, for use with -c option. Depending on the parameter #, do not print the code(s) or prompt for the key:

    If the number # is positive, then do not print the server code(s); only prompt for the server key. The # in this case is the number of servers that will be running, usually 1. (It will only be greater than 1 when backup servers are used.) Thus, ``-r 1'' prompts for a key for a single server configuration.

    If the number # is negative, then instead no key prompt will be issued, instead only that number of codes indicated will be printed. Thus, ``-r -1'' prints the current server code but does not prompt for a key.

-s  Find all license servers using server address resolution and print their names. If a feature appears on the command line, the hosts responding with this feature available are printed.

-V C
    Set encryption version to the argument, a single upper case character. Refer to elm_keyfile(5) for legal versions and their meanings.

-v # *
    Change the license manager log file verbose level to #. This may be used to change the level after the daemon has started. See elmd(1) for the list of levels and more details.

-x  Inhibit copyright notice.

-z *
    Zero log file. One method to clean up the log file every evening on a system is:

    cp elm.log elm.log.old
    ELMHOST=@localhost elmadmin -z

    (localhost could be a different host if you wished to access elmd remotely.)

    Alternatively, the -m option of elmd(1) may be used to automatically keep the log file under control.

    Note that truncating the log file by other means would be ineffectual since elmd keeps the log file open at all times. The next elmd log file write would simply use the old file pointer, filling the file to the original length. Thus -z of elmadmin or -m of elmd must be used to truncate the file.

FILES
/usr/lib/elm — default key file directory.

SYS$SYSDEVICE:[ELM] — default key file directory.

SEE ALSO
elmkey(1), elmd(1), elm_owner(3).