Alert Standard Format (ASF) for Linux* Operating Systems
Software Development Kit Files
========================================================

December 4, 2003


Contents
========

- Overview
- Prerequisites
- Installation
- Available Commands
- Known Issues


Overview
========

This file describes the Software Development Kit (SDK) files for Intel's 
Alert Standard Format (ASF) for Linux* software suite. The SDK package 
includes an Application Program Interface (API) for applications to 
configure ASF adapters on Linux systems. It also includes a sample 
application and source code, as well as some utilities.


Prerequisites
=============

In order to use Intel's ASF for Linux with the SDK files described below, 
you must have the ASF daemon (asfd) installed and running on the machine.
For information and installation instructions for the daemon, see the 
readme included with Intel's ASF for Linux package.


Installation
============

The SDK files are provided in a tar file. To install the tar file, move the 
file to the directory of your choice and untar/unzip the archive with the 
'tar zxf <tar_name>' command.

The SDK files include:

  ------------------------------------------------------------------------
  Filename                 Description
  ------------------------------------------------------------------------
  libasfd.a                static API library

  libasfd.so.1.0           dynamic API library

  AsfConfigDefines.h       API header file

  AsfAgentApi.h            API header file

  asfcli		   sample command-line application, using the API

  asf_remote               sample script for configuring the ASF agent 
                           remotely

  asfcli_src               Directory holding the source code for the asfcli 
                           application

  LICENSE.api_src_files    license file
  
  LICENSE.app_lib          license file

  README                   user text file
  ------------------------------------------------------------------------

  NOTE: libasfd.so.1.0 and asfcli are also included in Intel's ASF for Linux RPM file.


Available Commands
==================

  asfcli Sample Application
  -------------------------

  To configure ASF, copy the asfcli application to a directory of your choice.
  Use the asfcli command as follows, from the directory in which it was 
  installed:

       ./asfcli [options]

  The following optional parameters are used by entering them on the command 
  line with the asfcli command, as shown above:

  ========================================================================
  OPTION                     DESCRIPTION
  ========================================================================
  init                       Initializes the internal structures of the 
                             agent
  ------------------------------------------------------------------------
  timers                     Shows heartbeat, watchdog, ASF sensors, and 
                             management console pinging timers settings
  ------------------------------------------------------------------------
  adapters                   Lists the available adapters for alerting
  ------------------------------------------------------------------------
  status                     Displays alerting status information       
  ------------------------------------------------------------------------
  funcs                      Displays a list of supported remote control
                             functions and their state (enabled/disabled)
  ------------------------------------------------------------------------
  sethb <interval>           Sets the interval for heartbeat messages (in
                             seconds)
                             If interval is 0, heartbeat is disabled
  ------------------------------------------------------------------------
  setwd <interval>           Sets the watchdog expiration interval (in 
                             seconds)
                             If interval is 0, watchdog is disabled
  ------------------------------------------------------------------------
  setping <interval>         Sets the interval between pings to the     
                             management console (proxy update) 
                             If interval is 0, proxy update is disabled
  ------------------------------------------------------------------------
  setcom <community_str>     Sets the SNMP community string for PET 
                             packets
  ------------------------------------------------------------------------
  setfunc <function_id>      Sets the state of a remote-control function
     enabled | disabled           
  ------------------------------------------------------------------------
  setmon <interval>          Sets the ASF sensors monitoring interval
  ------------------------------------------------------------------------
  disable                    Disables alerting on the current ASF adapter
  ------------------------------------------------------------------------
  apply [adapter] <proxy>    Applies the configuration and enables ASF on 
                             adapter
                             Sends alerts to the indicated host/IP address
                             <proxy> is the management console
                             If [adapter] is missing, an adapter is 
                             selected automatically.
  ------------------------------------------------------------------------
  version		     Displays the asfcli version information
  ------------------------------------------------------------------------
  platform                   Checks whether the platform supports ASF 2.0 
                             security
  ------------------------------------------------------------------------
  secadapt <adapter>         Checks whether the adapter is ASF 2.0 security 
                             capable
  ------------------------------------------------------------------------
  secfunc <func_id>          Checks whether the remote control function is 
                             secure
  ------------------------------------------------------------------------
  haskeys                    Checks whether ASF 2.0 security keys are set
  ------------------------------------------------------------------------
  suppfunc <adapter>         Checks whether the remote control function 
  <func_id>                  is supported on adapter
  ------------------------------------------------------------------------
  setkeys <admin> <oper>     Set ASF 2.0 security keys (each should be 40 
  <gener> <random>           characters long)
  ------------------------------------------------------------------------


  asf_remote Sample Script
  ------------------------

  On the configured machine, run the asfd daemon, and make sure that the 
  asfcli application is installed in /usr/sbin/asfcli.

  On the remote machine, run the asf_remote script:

  asf_remote <keyword1=value1> <keyword2=value2> ..."

    Available keywords:
       USERNAME
       PASSWORD
       TARGET
       ENABLE
       DESTINATIONIP
       PING
       PINGINTERVAL
       HEARTBEAT
       HEARTBEATINTERVAL
       WATCHDOG
       WATCHDOGINTERVAL
       SNMPCOMMUNITY
       ADAPTER

  These keywords correspond to commands in the asfcli applications. The 
  keywords DESTINATIONIP and ADAPTER are obligatory.

  Defaults: TARGET - localhost, USERNAME - name of user running the script.
  The USERNAME used must be a superuser on the configured machine. For 
  boolean values, use the strings true/false.   

  The script uses telnet to access the remote machine. It has a defined
  timeout for reaching the remote machine (defined in the top section of the
  script). For setups that require a longer timeout value, the value defined 
  in the script can be edited and changed.


Known Issues
============

  Linking to Supplied Libraries on Red Hat 8 and Red Hat 9
  -------------------------------------------------------
  - When linking an application/object with the static library libasfd.a on 
    Red Hat 8 and Red Hat 9 machines, it is required to also explicitly link 
    to the libstdc++.so.2.9 library, whether using gcc or g++.
  - When linking an application/object with either the static library 
    libasfd.a, or the dynamic library libasfd.so.1.0, on Red Hat 8 and Red 
    Hat 9 machines using "gcc", it is required to also explicitly link to 
    the libstdc++.so.5 library.


Legal Disclaimer
================

INTEL CONFIDENTIAL
    
Copyright (c) 2002  Intel Corporation. 
All Rights Reserved.
    
The source code contained or described herein and all documents related to 
the source code ("Material") are owned by Intel Corporation or its suppliers
or licensors. Title to the Material remains with Intel Corporation or its 
suppliers and licensors. The Material contains trade secrets and proprietary
and confidential information of Intel or its suppliers and licensors. The 
Material is protected by worldwide copyright and trade secret laws and 
treaty provisions. No part of the Material may be used, copied, reproduced, 
modified, published, uploaded, posted, transmitted, distributed, or 
disclosed in any way without Intel's prior express written permission.
  
No license under any patent, copyright, trade secret or other intellectual 
property right is granted to or conferred upon you by disclosure or delivery
of the Materials, either expressly, by implication, inducement, estoppel or 
otherwise. Any license under such intellectual property rights must be 
expressed and approved by Intel in writing.

The Software Development Kit (SDK) package for Intel's Alert Standard 
Format (ASF) for Linux includes components that are released under either a 
Binary or BSD license, as indicated below:

Components in asfd-sdk-<version>.tar.gz:

BSD:
  API header files: AsfConfigDefines.h, AsfAgentApi.h
  Remote configuration script: asf_remote
  Command Line application source files -  in the asfcli_src directory

Binary:
  ASF Daemon API libraries - libasfd.so.1.0, libasfd.a
  Command Line application - asfcli

* Other names and brands may be claimed as the property of others.