summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile29
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/Makefile.in1
-rw-r--r--doc/UserGuide95
-rw-r--r--doc/iekanalyzer.82
-rw-r--r--doc/ifru.84
-rw-r--r--doc/ifruset.82
-rw-r--r--doc/ipmiutil.spec10
-rw-r--r--doc/isel.84
-rw-r--r--doc/iseltime.868
-rw-r--r--doc/isensor.84
11 files changed, 123 insertions, 97 deletions
diff --git a/doc/Makefile b/doc/Makefile
index 8486cb1..744aae1 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -46,12 +46,12 @@ CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run aclocal-1.11
-AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run tar
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run aclocal-1.11
+AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoheader
-AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run automake-1.11
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run automake-1.11
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
@@ -99,7 +99,7 @@ LIB_DIR = /usr/lib64
LIPO =
LN_S = ln -s
LTLIBOBJS =
-MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B
NMEDIT =
@@ -113,9 +113,9 @@ OTOOL64 =
PACKAGE = ipmiutil
PACKAGE_BUGREPORT =
PACKAGE_NAME = ipmiutil
-PACKAGE_STRING = ipmiutil 3.1.1
+PACKAGE_STRING = ipmiutil 3.1.2
PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.1.1
+PACKAGE_VERSION = 3.1.2
PATH_SEPARATOR = :
PKG_DIR = /root/rpmbuild
RANLIB = ranlib
@@ -127,11 +127,11 @@ SHR_LINK = libipmiutil.so.1
STRIP = strip
SUBDIR_S = doc scripts lib util
SYSTEMD_DIR = /usr/share/ipmiutil
-VERSION = 3.1.1
-abs_builddir = /usr/dev/ipmiutil-3.1.1/doc
-abs_srcdir = /usr/dev/ipmiutil-3.1.1/doc
-abs_top_builddir = /usr/dev/ipmiutil-3.1.1
-abs_top_srcdir = /usr/dev/ipmiutil-3.1.1
+VERSION = 3.1.2
+abs_builddir = /usr/dev/ipmiutil-3.1.2/doc
+abs_srcdir = /usr/dev/ipmiutil-3.1.2/doc
+abs_top_builddir = /usr/dev/ipmiutil-3.1.2
+abs_top_srcdir = /usr/dev/ipmiutil-3.1.2
ac_ct_CC = gcc
ac_ct_DUMPBIN =
am__include = include
@@ -159,7 +159,7 @@ host_vendor = redhat
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.1/install-sh
+install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.2/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
@@ -415,6 +415,7 @@ install:
${INSTALL_DATA_SH} idcmi.8 ${manto}
${INSTALL_DATA_SH} ismcoem.8 ${manto}
${INSTALL_DATA_SH} iuser.8 ${manto}
+ ${INSTALL_DATA_SH} iseltime.8 ${manto}
${INSTALL_DATA_SH} bmclanpet.mib ${datato}
cd ${manto}; gzip -f *.8
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 632cc49..b792762 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -57,6 +57,7 @@ install:
${INSTALL_DATA_SH} idcmi.8 ${manto}
${INSTALL_DATA_SH} ismcoem.8 ${manto}
${INSTALL_DATA_SH} iuser.8 ${manto}
+ ${INSTALL_DATA_SH} iseltime.8 ${manto}
${INSTALL_DATA_SH} bmclanpet.mib ${datato}
cd ${manto}; gzip -f *.8
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 15917e8..3b9d20d 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -415,6 +415,7 @@ install:
${INSTALL_DATA_SH} idcmi.8 ${manto}
${INSTALL_DATA_SH} ismcoem.8 ${manto}
${INSTALL_DATA_SH} iuser.8 ${manto}
+ ${INSTALL_DATA_SH} iseltime.8 ${manto}
${INSTALL_DATA_SH} bmclanpet.mib ${datato}
cd ${manto}; gzip -f *.8
diff --git a/doc/UserGuide b/doc/UserGuide
index 7f7b705..ee16696 100644
--- a/doc/UserGuide
+++ b/doc/UserGuide
@@ -1,6 +1,6 @@
IPMIUTIL USER GUIDE
- VERSION 3.1.1
+ VERSION 3.1.2
An easy-to-use IPMI server management utility
@@ -2955,6 +2955,9 @@ OPTIONS
-x Causes eXtra debug messages to be displayed.
+ -y Ignore the check for FRU size overflow, and update the FRU any-
+ way.
+
-N nodename
Nodename or IP address of the remote target system. If a node-
name is specified, IPMI LAN interface is used. Otherwise the
@@ -4512,76 +4515,81 @@ ISELTIME(8) ISELTIME(8)
NAME
- iseltime - synchronize BMC SEL time with OS system time
+ iseltime - synchronize BIOS RTC and firmware SEL time from system time
SYNOPSIS
- seltime [-sx -NUPRETVF]
+ iseltime [-sx -N node -U user -P/-R pswd -EFJTVYZ]
DESCRIPTION
- seltime is a program that uses IPMI commands to set the BMC SEL time
- from the OS system time. The OS system time should be in sync with the
- BIOS Real-Time-Clock. The OS system time may also be kept from drift-
- ing via an NTP server. Normally the BIOS will set the BMC time from
- the RTC during boot, but running this command may be necessary periodi-
- cally if the system does not reboot for many weeks, for instance. Note
- that this command should not be run too frequently to avoid BMC timing
- issues. Once per day should be sufficient.
-
- Run with no options, this command reads the BMC SEL time without set-
- ting anything.
+ iseltime is a program that allows synchronizing the hardware time val-
+ ues for RTC (BIOS Real-Time-Clock) and SEL (IPMI firmware SEL time)
+ with the OS system time. Run without options, iseltime shows each of
+ these times to show whether they are the same or not.
- This utility can use either the /dev/ipmi0 openipmi driver, the
- /dev/imb Intel driver, the /dev/ipmikcs valinux driver, a driverless
- interface, or IPMI LAN.
+ The OS system time should be in sync with the BIOS Real-Time-Clock.
+ The OS system time may also be kept from drifting via an NTP server.
+ Normally the BIOS will set the firmware SEL time from the RTC during
+ boot, but running this command may be necessary periodically if the
+ system does not reboot for a long time, for instance. Note that some
+ applications may not handle setting the time backward well. Note that
+ this command should not be run too frequently to avoid firmware timing
+ issues. It should not be set more than once per day.
OPTIONS
- -s Sets the SEL time (no more than once a day).
+ Command line options are described below.
- -x Causes eXtra debug messages to be displayed.
+ -s Set the RTC and IPMI firmware SEL time to match the system time.
+ This should not be performed more often than once a day.
- -N nodename
- Nodename of the remote target system. If a nodename is speci-
- fied, IPMI LAN interface is used. Otherwise the local system
- management interface is used.
+ -x Causes eXtra debug messages to be displayed.
- -P/-R password
- Remote password for the nodename given. The default is a null
- password.
+ -N nodename
+ Nodename or IP address of the remote target system. If a node-
+ name is specified, IPMI LAN interface is used. Otherwise the
+ local system management interface is used.
- -U username
+ -U rmt_user
Remote username for the nodename given. The default is a null
username.
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
-E Use the remote password from Environment variable IPMI_PASSWORD.
-F drv_t
- Force the driver type to one of the followng: imb, va, open,
+ Force the driver type to one of the followng: imb, va, open,
gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
- lan2 with intelplus. The default is to detect any available
+ lan2 with intelplus. The default is to detect any available
driver type and use it.
- -J Use the specified LanPlus cipher suite (0 thru 14):
- 0=none/none/none, 1=sha1/none/none, 2=sha1/sha1/none,
+ -J Use the specified LanPlus cipher suite (0 thru 17):
+ 0=none/none/none, 1=sha1/none/none, 2=sha1/sha1/none,
3=sha1/sha1/cbc128, 4=sha1/sha1/xrc4_128, 5=sha1/sha1/xrc4_40,
- 6=md5/none/none, ... 14=md5/md5/xrc4_40.
+ 6=md5/none/none, ... 14=md5/md5/xrc4_40. Default is 3.
- -T Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2,
+ -T Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2,
2=MD5, 4=Straight Password, 5=OEM.
- -V Use a specified IPMI LAN privilege level. 1=Callback level,
+ -V Use a specified IPMI LAN privilege level. 1=Callback level,
2=User level, 3=Operator level, 4=Administrator level (default),
5=OEM level.
- -Y Yes, do prompt the user for the IPMI LAN remote password.
+ -Y Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are -E or -P.
+ -Z Set the slave address for a local MC
+
SEE ALSO
- ipmiutil(8) isel(8) ievents(8) icmd(8)
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
WARNINGS
@@ -5354,14 +5362,8 @@ require this step.
The utilities can be run separately, or an ipmiutil directory can be
added into the %PATH%.
-A sample install batch file:
-> set MYBIN=c:\bin
-> copy libeay32.dll %SystemRoot%\system32
-> copy ssleay32.dll %SystemRoot%\system32
-> copy showselmsg.dll %SystemRoot%\system32
-> start showsel.reg
-> mkdir %MYBIN%
-> copy *.exe %MYBIN%
+If using the ipmiutil*.msi, it will automatically install.
+If using the ipmiutil*.zip, then run the install.cmd to install it.
The usage of ipmiutil in Windows is the same as in Linux OS, with the
exception of drivers:
@@ -6294,6 +6296,11 @@ using the ipmiutil library.
8.1 Build instructions for Linux
+Prerequisite packages to build the binaries (make):
+ autoconf automake libopenssl-devel gcc gcc-c++ libtool
+Prerequisite packages to make the rpm (make rpm):
+ rpm rpm-build
+
To build with some GPL code:
If you are building ipmiutil for open-source, then the MD2 hash
for IPMI LAN and the valinux driver interface (/dev/ipmikcs) can
diff --git a/doc/iekanalyzer.8 b/doc/iekanalyzer.8
index c4ca1e2..4726845 100644
--- a/doc/iekanalyzer.8
+++ b/doc/iekanalyzer.8
@@ -10,6 +10,8 @@ ipmiutil_ekanalyzer \- run FRU-Ekeying analyzer with FRU files
is a program that analyzes FRU Ekeying information from files
saved from PICMG IPMI systems.
+This function is disabled by default in ipmiutil-2.9.9 and later.
+
.br
\fIekanalyzer\fP \fBcommand\fR \fBxx=filename1\fR \fBxx=filename2\fR [\fBrc=filename3\fR]
.br
diff --git a/doc/ifru.8 b/doc/ifru.8
index 5162ed0..c1ee4f5 100644
--- a/doc/ifru.8
+++ b/doc/ifru.8
@@ -2,7 +2,7 @@
.SH NAME
ipmiutil_fru \- show Field Replacable Unit configuration data
.SH SYNOPSIS
-.B "ipmiutil fru [-abcdeikmsvx -N node -U user -P/-R pswd -EFJTVY]"
+.B "ipmiutil fru [-abcdeikmsvx -N node -U user -P/-R pswd -EFJTVYZ]"
.SH DESCRIPTION
.I ipmiutil fru
@@ -87,6 +87,8 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are \-E or \-P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "SEE ALSO"
diff --git a/doc/ifruset.8 b/doc/ifruset.8
index 9f72eda..9f9f7c1 100644
--- a/doc/ifruset.8
+++ b/doc/ifruset.8
@@ -71,6 +71,8 @@ The trailing character, if present, indicates SMI addressing if 's',
or IPMB addressing if 'i' or not present.
.IP "-x"
Causes eXtra debug messages to be displayed.
+.IP "-y"
+Ignore the check for FRU size overflow, and update the FRU anyway.
.IP "-N nodename"
Nodename or IP address of the remote target system. If a nodename is
specified, IPMI LAN interface is used. Otherwise the local system
diff --git a/doc/ipmiutil.spec b/doc/ipmiutil.spec
index 27b4b67..c1f0278 100644
--- a/doc/ipmiutil.spec
+++ b/doc/ipmiutil.spec
@@ -3,14 +3,14 @@
# Copyright (c) 2012 Andy Cress
#
Name: ipmiutil
-Version: 3.1.1
+Version: 3.1.2
Release: 1%{?dist}
Summary: Easy-to-use IPMI server management utilities
License: BSD
-Group: System/Management
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
URL: http://ipmiutil.sourceforge.net
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+%define group System/Management
# Suggests: cron or vixie-cron or cronie or similar
%{!?_unitdir: %define _unitdir /usr/lib/systemd/system}
%define unit_dir %{_unitdir}
@@ -20,8 +20,8 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
%define bldreq_extra libtool
%if 0%{?fedora} >= 15
%define bldreq_extra systemd autoconf automake systemd-units
+%define group System Environment/Base
Requires: systemd-units
-Group: System Environment/Base
%if 0%{?fedora} == 16
%define unit_dir /lib/systemd/system
%endif
@@ -42,6 +42,7 @@ Group: System Environment/Base
# Requires: %{?systemd_requires}
%endif
BuildRequires: %{bldreq0} %{bldreq_extra}
+Group: %{group}
%description
The ipmiutil package provides easy-to-use utilities to view the SEL,
@@ -170,6 +171,7 @@ rm -rf %{buildroot}
%{_mandir}/man8/itsol.8*
%{_mandir}/man8/idcmi.8*
%{_mandir}/man8/iuser.8*
+%{_mandir}/man8/iseltime.8*
%doc AUTHORS ChangeLog COPYING NEWS README TODO
%doc doc/UserGuide
@@ -373,6 +375,8 @@ fi
%endif
%changelog
+* Fri Jul 20 2018 Andrew Cress <arcress at users.sourceforge.net> 3.1.2-1
+- resolve doubly-defined Group for Fedora
* Mon Jun 29 2015 Andrew Cress <arcress at users.sourceforge.net> 2.9.7-1
- move libipmiutil.so from devel into ipmiutil base package (RH#1177213)
* Mon Nov 03 2014 Andrew Cress <arcress at users.sourceforge.net> 2.9.5-1
diff --git a/doc/isel.8 b/doc/isel.8
index 62180bb..e8e497b 100644
--- a/doc/isel.8
+++ b/doc/isel.8
@@ -2,7 +2,7 @@
.SH NAME
ipmiutil_sel \- show firmware System Event Log records
.SH SYNOPSIS
-.B "ipmiutil sel [-abcflswvx -N node -P/-R pswd -U user -EFJTVY]"
+.B "ipmiutil sel [-abcflswvx -N node -P/-R pswd -U user -EFJTVYZ]"
.SH DESCRIPTION
.I ipmiutil sel
@@ -111,6 +111,8 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are \-E or \-P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "SEE ALSO"
ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isensor(8) iserial(8) isol(8) iwdt(8)
diff --git a/doc/iseltime.8 b/doc/iseltime.8
index eb9a705..1b51f0b 100644
--- a/doc/iseltime.8
+++ b/doc/iseltime.8
@@ -1,53 +1,53 @@
-.TH ISELTIME 8 "Version 1.0: 01 Apr 2013"
+.TH ISELTIME 8 "Version 1.0: 13 Jul 2018"
.SH NAME
-iseltime \- synchronize BMC SEL time with OS system time
+iseltime \- synchronize BIOS RTC and firmware SEL time from system time
.SH SYNOPSIS
-.B "seltime [-sx -NUPRETVF]"
+.B "iseltime [-sx -N node -U user -P/-R pswd -EFJTVYZ]"
.SH DESCRIPTION
-.I seltime
-is a program that uses IPMI commands to
-set the BMC SEL time from the OS system time.
-The OS system time should be in sync with the BIOS Real-Time-Clock.
-The OS system time may also be kept from drifting via an NTP server.
-Normally the BIOS will set the BMC time from the RTC during boot, but
-running this command may be necessary periodically if the system
-does not reboot for many weeks, for instance.
-Note that this command should not be run too frequently to avoid
-BMC timing issues. Once per day should be sufficient.
+.I iseltime
+is a program that allows synchronizing the hardware time values for
+RTC (BIOS Real-Time-Clock) and SEL (IPMI firmware SEL time) with
+the OS system time. Run without options, iseltime shows each of these times
+to show whether they are the same or not.
-Run with no options, this command reads the BMC SEL time without
-setting anything.
-
-This utility can use either the /dev/ipmi0 openipmi driver,
-the /dev/imb Intel driver, the /dev/ipmikcs valinux driver,
-a driverless interface, or IPMI LAN.
+The OS system time should be in sync with the BIOS Real-Time-Clock.
+The OS system time may also be kept from drifting via an NTP server.
+Normally the BIOS will set the firmware SEL time from the RTC during boot,
+but running this command may be necessary periodically if the system does
+not reboot for a long time, for instance.
+Note that some applications may not handle setting the time backward well.
+Note that this command should not be run too frequently to avoid firmware
+timing issues. It should not be set more than once per day.
.SH OPTIONS
-.IP "-s"
-Sets the SEL time (no more than once a day).
+Command line options are described below.
+.IP "-s"
+Set the RTC and IPMI firmware SEL time to match the system time.
+This should not be performed more often than once a day.
+
.IP "-x"
Causes eXtra debug messages to be displayed.
-
.IP "-N nodename"
-Nodename of the remote target system. If a nodename is specified,
-IPMI LAN interface is used. Otherwise the local system management
-interface is used.
-.IP "-P/-R password"
-Remote password for the nodename given. The default is a null password.
-.IP "-U username"
+Nodename or IP address of the remote target system. If a nodename is
+specified, IPMI LAN interface is used. Otherwise the local system
+management interface is used.
+.IP "-U rmt_user"
Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
.IP "-E"
Use the remote password from Environment variable IPMI_PASSWORD.
.IP "-F drv_t"
-Force the driver type to one of the followng:
+Force the driver type to one of the followng:
imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
Note that lan2i means lan2 with intelplus.
The default is to detect any available driver type and use it.
.IP "-J"
-Use the specified LanPlus cipher suite (0 thru 14): 0=none/none/none,
+Use the specified LanPlus cipher suite (0 thru 17): 0=none/none/none,
1=sha1/none/none, 2=sha1/sha1/none, 3=sha1/sha1/cbc128, 4=sha1/sha1/xrc4_128,
5=sha1/sha1/xrc4_40, 6=md5/none/none, ... 14=md5/md5/xrc4_40.
+Default is 3.
.IP "-T"
Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
.IP "-V"
@@ -55,16 +55,18 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are -E or -P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "SEE ALSO"
-ipmiutil(8) isel(8) ievents(8) icmd(8)
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
.SH WARNINGS
-See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
.SH COPYRIGHT
-Copyright (C) 2013 Kontron America, Inc.
+Copyright (C) 2009 Kontron America, Inc.
.PP
See the file COPYING in the distribution for more details
regarding redistribution.
diff --git a/doc/isensor.8 b/doc/isensor.8
index 1345f58..f17aedb 100644
--- a/doc/isensor.8
+++ b/doc/isensor.8
@@ -2,7 +2,7 @@
.SH NAME
ipmiutil_sensor \- show Sensor Data Records
.SH SYNOPSIS
-.B "ipmiutil sensor [-abcdefgjkmpqrstuvwxL -i id -n snum -h tval -l tval -NUPREFJTVY]"
+.B "ipmiutil sensor [-abcdefgjkmpqrstuvwxL -i id -n snum -h tval -l tval -NUPREFJTVYZ]"
.SH DESCRIPTION
.I ipmiutil sensor
@@ -150,6 +150,8 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are \-E or \-P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "EXAMPLES"
ipmiutil sensor sample output is below.