diff options
Diffstat (limited to 'src/plugins/imb')
-rw-r--r-- | src/plugins/imb/Makefile.in | 638 | ||||
-rw-r--r-- | src/plugins/imb/imb.c | 6 | ||||
-rw-r--r-- | src/plugins/imb/imbapi.c | 201 | ||||
-rw-r--r-- | src/plugins/imb/imbapi.h | 12 |
4 files changed, 78 insertions, 779 deletions
diff --git a/src/plugins/imb/Makefile.in b/src/plugins/imb/Makefile.in deleted file mode 100644 index 1e40e15..0000000 --- a/src/plugins/imb/Makefile.in +++ /dev/null @@ -1,638 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# Redistribution of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# Redistribution in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# Neither the name of Sun Microsystems, Inc. or the names of -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# This software is provided "AS IS," without a warranty of any kind. -# ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, -# INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A -# PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. -# SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE -# FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING -# OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL -# SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, -# OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR -# PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF -# LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, -# EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = src/plugins/imb -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libintf_imb_la_DEPENDENCIES = $(top_builddir)/lib/libipmitool.la -am_libintf_imb_la_OBJECTS = imbapi.lo imb.lo -libintf_imb_la_OBJECTS = $(am_libintf_imb_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libintf_imb_la_SOURCES) -DIST_SOURCES = $(libintf_imb_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ARCH = @ARCH@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASEDIR = @BASEDIR@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DISTRO = @DISTRO@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTF_BMC = @INTF_BMC@ -INTF_BMC_LIB = @INTF_BMC_LIB@ -INTF_DUMMY = @INTF_DUMMY@ -INTF_DUMMY_LIB = @INTF_DUMMY_LIB@ -INTF_FREE = @INTF_FREE@ -INTF_FREE_LIB = @INTF_FREE_LIB@ -INTF_IMB = @INTF_IMB@ -INTF_IMB_LIB = @INTF_IMB_LIB@ -INTF_LAN = @INTF_LAN@ -INTF_LANPLUS = @INTF_LANPLUS@ -INTF_LANPLUS_LIB = @INTF_LANPLUS_LIB@ -INTF_LAN_LIB = @INTF_LAN_LIB@ -INTF_LIPMI = @INTF_LIPMI@ -INTF_LIPMI_LIB = @INTF_LIPMI_LIB@ -INTF_OPEN = @INTF_OPEN@ -INTF_OPEN_LIB = @INTF_OPEN_LIB@ -INTF_SERIAL = @INTF_SERIAL@ -INTF_SERIAL_LIB = @INTF_SERIAL_LIB@ -INTF_USB = @INTF_USB@ -INTF_USB_LIB = @INTF_USB_LIB@ -IPMITOOL_INTF_LIB = @IPMITOOL_INTF_LIB@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OS = @OS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POW_LIB = @POW_LIB@ -PSTAMP = @PSTAMP@ -RANLIB = @RANLIB@ -RPMBUILD = @RPMBUILD@ -RPM_RELEASE = @RPM_RELEASE@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_configure_args = @ac_configure_args@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -MAINTAINERCLEANFILES = Makefile.in -AM_CPPFLAGS = -I$(top_srcdir)/include -EXTRA_LTLIBRARIES = libintf_imb.la -noinst_LTLIBRARIES = @INTF_IMB_LIB@ -libintf_imb_la_LIBADD = $(top_builddir)/lib/libipmitool.la -libintf_imb_la_SOURCES = imbapi.c imbapi.h imb.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/plugins/imb/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/plugins/imb/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libintf_imb.la: $(libintf_imb_la_OBJECTS) $(libintf_imb_la_DEPENDENCIES) $(EXTRA_libintf_imb_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libintf_imb_la_OBJECTS) $(libintf_imb_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imbapi.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/plugins/imb/imb.c b/src/plugins/imb/imb.c index 1514fa7..27d59e8 100644 --- a/src/plugins/imb/imb.c +++ b/src/plugins/imb/imb.c @@ -62,7 +62,7 @@ static int ipmi_imb_open(struct ipmi_intf * intf) printf("Error: no IMB driver found at %s!\n", IPMI_IMB_DEV); return -1; } - + intf->opened = 1; intf->manufacturer_id = ipmi_get_oem(intf); @@ -75,10 +75,10 @@ static void ipmi_imb_close(struct ipmi_intf * intf) intf->manufacturer_id = IPMI_OEM_UNKNOWN; } -static struct ipmi_rs * ipmi_imb_send_cmd(struct ipmi_intf * intf, struct ipmi_rq * req) +static struct ipmi_rs * ipmi_imb_send_cmd(struct ipmi_intf *__UNUSED__(intf), struct ipmi_rq *req) { IMBPREQUESTDATA imbreq; - static struct ipmi_rs rsp; + static struct ipmi_rs rsp; int status, i; unsigned char ccode; diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c index 34c9c82..b27486d 100644 --- a/src/plugins/imb/imbapi.c +++ b/src/plugins/imb/imbapi.c @@ -60,11 +60,12 @@ #include "imbapi.h" #include <sys/socket.h> +#include <ipmitool/helper.h> #include <ipmitool/log.h> #ifdef SCO_UW # define NO_MACRO_ARGS 1 -# define __FUNCTION__ "func" +# define __func__ "func" # define IMB_DEVICE "/dev/instru/mismic" #else # define IMB_DEVICE "/dev/imb" @@ -117,7 +118,7 @@ open_imb(void) OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - if (hDevice == NULL || hDevice == INVALID_HANDLE_VALUE) { + if (!hDevice || INVALID_HANDLE_VALUE == hDevice) { return 0; } /* Detect the IPMI version for processing requests later. This @@ -170,7 +171,7 @@ open_imb(void) if (hDevice1 != 0) { return 1; } - lprintf(LOG_DEBUG, "%s: opening the driver", __FUNCTION__); + lprintf(LOG_DEBUG, "%s: opening the driver", __func__); /* printf("open_imb: " "IOCTL_IMB_SEND_MESSAGE =%x \n" "IOCTL_IMB_GET_ASYNC_MSG=%x \n" "IOCTL_IMB_MAP_MEMORY = %x \n" "IOCTL_IMB_UNMAP_MEMORY= %x \n" @@ -192,7 +193,7 @@ open_imb(void) if (fDriverTyp != 0) { /* not 1st time */ sprintf(buf,"%s %s: open(%s) failed", - __FILE__, __FUNCTION__, IMB_DEVICE); + __FILE__, __func__, IMB_DEVICE); perror(buf); } return 0; @@ -212,14 +213,14 @@ open_imb(void) requestData.data = NULL; requestData.dataLength = 0; respLength = 16; - lprintf(LOG_DEBUG, "%s: opened driver, getting IPMI version", __FUNCTION__); + lprintf(LOG_DEBUG, "%s: opened driver, getting IPMI version", __func__); if (((my_ret_code = SendTimedImbpRequest(&requestData, (DWORD)400, respBuffer, (int *)&respLength, &completionCode)) != ACCESN_OK) || (completionCode != 0)) { printf("%s: SendTimedImbpRequest error. Ret = %d CC = 0x%X\n", - __FUNCTION__, my_ret_code, completionCode); + __func__, my_ret_code, completionCode); close(hDevice1); hDevice1 = 0; return 0; @@ -233,7 +234,7 @@ open_imb(void) IpmiVersion = IPMI_10_VERSION; } } - lprintf(LOG_DEBUG, "%s: IPMI version 0x%x", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: IPMI version 0x%x", __func__, IpmiVersion); return 1; } /* end open_imb() */ @@ -281,11 +282,11 @@ ipmi_close_ia(void) * @lpcbBytesReturned, address of actual bytes of output * @lpoOverlapped address of overlapped struct * - * returns - FALSE for fail and TRUE for success. Same as standarad NTOS call as + * returns - FALSE for fail and TRUE for success. Same as standard NTOS call as * it also sets Ntstatus.status. */ static BOOL -DeviceIoControl(HANDLE dummey_hDevice, DWORD dwIoControlCode, LPVOID +DeviceIoControl(HANDLE __UNUSED__(dummey_hDevice), DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbBytesReturned, LPOVERLAPPED lpoOverlapped) @@ -298,7 +299,7 @@ DeviceIoControl(HANDLE dummey_hDevice, DWORD dwIoControlCode, LPVOID if (rc == 0) { return FALSE; } - lprintf(LOG_DEBUG, "%s: ioctl cmd = 0x%lx", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: ioctl cmd = 0x%lx", __func__, dwIoControlCode); lprintf(LOG_DEBUG, "cbInBuffer %d cbOutBuffer %d", cbInBuffer, cbOutBuffer); @@ -312,23 +313,23 @@ DeviceIoControl(HANDLE dummey_hDevice, DWORD dwIoControlCode, LPVOID s.cbOutBuffer = cbOutBuffer; s.lpcbBytesReturned = lpcbBytesReturned; s.lpoOverlapped = lpoOverlapped; - /* dummy place holder. Linux IMB driver doesnt return status or info + /* dummy place holder. Linux IMB driver doesn't return status or info * via it */ s.ntstatus = (LPVOID)&NTstatus; if ((ioctl_status = ioctl(hDevice1, dwIoControlCode,&s)) < 0) { lprintf(LOG_DEBUG, "%s %s: ioctl cmd = 0x%x failed", - __FILE__, __FUNCTION__, dwIoControlCode); + __FILE__, __func__, dwIoControlCode); return FALSE; } lprintf(LOG_DEBUG, "%s: ioctl_status %d bytes returned = %d", - __FUNCTION__, ioctl_status, *lpcbBytesReturned); + __func__, ioctl_status, *lpcbBytesReturned); if (ioctl_status == STATUS_SUCCESS) { - lprintf(LOG_DEBUG, "%s returning true", __FUNCTION__); + lprintf(LOG_DEBUG, "%s returning true", __func__); return (TRUE); } else { - lprintf(LOG_DEBUG, "%s returning false", __FUNCTION__); + lprintf(LOG_DEBUG, "%s returning false", __func__); return (FALSE); } } @@ -341,12 +342,12 @@ StartAsyncMesgPoll() DWORD retLength; BOOL status; lprintf(LOG_DEBUG, "%s: DeviceIoControl cmd = %x", - __FUNCTION__, IOCTL_IMB_POLL_ASYNC); + __func__, IOCTL_IMB_POLL_ASYNC); status = DeviceIoControl(hDevice, IOCTL_IMB_POLL_ASYNC, NULL, 0, NULL, 0, &retLength, 0); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if (status == TRUE) { return ACCESN_OK; @@ -407,7 +408,7 @@ SendTimedI2cRequest(I2CREQUESTDATA *reqPtr, int timeOut, BYTE *respDataPtr, status = DeviceIoControl(hDevice, IOCTL_IMB_SEND_MESSAGE, requestData, sizeof(requestData), &responseData, sizeof(responseData), &respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if (status != TRUE) { DWORD error; @@ -434,7 +435,7 @@ SendTimedI2cRequest(I2CREQUESTDATA *reqPtr, int timeOut, BYTE *respDataPtr, * @responseDataLen * @timeOut - how long to wait, in mSec units * - * retruns - OK else error status code + * returns - OK else error status code */ ACCESN_STATUS SendTimedEmpMessageResponse (ImbPacket *ptr, char *responseDataBuf, @@ -498,7 +499,7 @@ SendTimedEmpMessageResponse (ImbPacket *ptr, char *responseDataBuf, status = DeviceIoControl(hDevice, IOCTL_IMB_SEND_MESSAGE, requestData, sizeof(requestData), responseData, sizeof(responseData), &respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if ((status != TRUE) || (respLength != 1) || (responseData[0] != 0)) { return ACCESN_ERROR; @@ -514,7 +515,7 @@ SendTimedEmpMessageResponse (ImbPacket *ptr, char *responseDataBuf, * @timeOut - how long to wait, in mSec units * @sessionHandle - This is introduced in IPMI1.5,this is required to be sent in * sendd message command as a parameter, which is then used by BMC - * to identify the correct DPC session to send the mesage to. + * to identify the correct DPC session to send the message to. * @channelNumber - There are 3 different channels on which DPC communication * goes on: * * Emp - 1 @@ -591,7 +592,7 @@ SendTimedEmpMessageResponse_Ex (ImbPacket *ptr, char *responseDataBuf, int req->req.data[i++] = ((ptr->seqLn & 0xfc) | (ptr->nfLn & 0x3)); /* The next byte is the command like get software ID(00). */ req->req.data[i++] = ptr->cmd; - /* after the cmd the data, which is sent by DPC & is retrived using the + /* after the cmd the data, which is sent by DPC & is retrieved using the * get message earlier is sent back to DPC. */ for (j = 0; j < responseDataLen; ++j, ++i) { @@ -626,7 +627,7 @@ SendTimedEmpMessageResponse_Ex (ImbPacket *ptr, char *responseDataBuf, int sizeof(requestData), responseData, sizeof(responseData), &respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if ((status != TRUE) || (respLength != 1) || (responseData[0] != 0)) { return ACCESN_ERROR; @@ -711,7 +712,7 @@ SendTimedLanMessageResponse(ImbPacket *ptr, char *responseDataBuf, sizeof(requestData), responseData, sizeof(responseData), &respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if ((status != TRUE) || (respLength != 1) || (responseData[0] != 0)) { return ACCESN_ERROR; @@ -728,7 +729,7 @@ SendTimedLanMessageResponse(ImbPacket *ptr, char *responseDataBuf, * @timeOut - how long to wait, in mSec units * @sessionHandle - This is introduced in IPMI1.5,this is required to be sent in * send message command as a parameter,which is then used by BMC to identify the - * correct DPC session to send the mesage to. + * correct DPC session to send the message to. * @channelNumber - There are 3 different channels on which DPC communication * goes on: * * Emp - 1 @@ -806,7 +807,7 @@ SendTimedLanMessageResponse_Ex(ImbPacket *ptr, char *responseDataBuf, int req->req.data[i++] = ((ptr->seqLn & 0xfc) | (ptr->nfLn & 0x3)); /* The next byte is the command like get software ID(00). */ req->req.data[i++] = ptr->cmd; - /* After the cmd the data ,which is sent by DPC & is retrived using the + /* After the cmd the data ,which is sent by DPC & is retrieved using the * get message earlier is sent back to DPC. */ for (j = 0; j < responseDataLen; ++j, ++i) { @@ -839,7 +840,7 @@ SendTimedLanMessageResponse_Ex(ImbPacket *ptr, char *responseDataBuf, int status = DeviceIoControl(hDevice, IOCTL_IMB_SEND_MESSAGE, requestData, sizeof(requestData), responseData, sizeof(responseData), &respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if ((status != TRUE) || (respLength != 1) || (responseData[0] != 0)) { return ACCESN_ERROR; @@ -882,7 +883,7 @@ SendTimedImbpRequest(IMBPREQUESTDATA *reqPtr, int timeOut, BYTE *respDataPtr, /* convert to uSec units */ req->timeOut = timeOut * 1000; lprintf(LOG_DEBUG, "%s: rsSa 0x%x cmd 0x%x netFn 0x%x rsLun 0x%x", - __FUNCTION__, req->req.rsSa, req->req.cmd, + __func__, req->req.rsSa, req->req.cmd, req->req.netFn, req->req.rsLun); status = DeviceIoControl(hDevice, IOCTL_IMB_SEND_MESSAGE, requestData, @@ -890,11 +891,11 @@ SendTimedImbpRequest(IMBPREQUESTDATA *reqPtr, int timeOut, BYTE *respDataPtr, sizeof(responseData), &respLength, NULL); lprintf(LOG_DEBUG, "%s: DeviceIoControl returned status = %d", - __FUNCTION__, status); + __func__, status); #ifdef DBG_IPMI /* TODO */ printf("%s: rsSa %x cmd %x netFn %x lun %x, status=%d, cc=%x, rlen=%d\n", - __FUNCTION__, req->req.rsSa, req->req.cmd, + __func__, req->req.rsSa, req->req.cmd, req->req.netFn, req->req.rsLun, status, resp->cCode, respLength); #endif @@ -949,7 +950,7 @@ SendAsyncImbpRequest(IMBPREQUESTDATA *reqPtr, BYTE *seqNo) sizeof(requestData), &responseData, sizeof(responseData), &respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if (status != TRUE) { DWORD error; @@ -979,82 +980,12 @@ ACCESN_STATUS GetAsyncImbpMessage (ImbPacket *msgPtr, DWORD *msgLen, DWORD timeOut, ImbAsyncSeq *seqNo, DWORD channelNumber) { - BOOL status; - BYTE responseData[MAX_ASYNC_RESP_SIZE]; - BYTE lun; - ImbAsyncResponse *resp = (ImbAsyncResponse *)responseData; - DWORD respLength = sizeof(responseData); - ImbAsyncRequest req; - - while (1) { - if ((msgPtr == NULL) || (msgLen == NULL) || ( seqNo == NULL)) { - return ACCESN_ERROR; - } - /* convert to uSec units */ - req.timeOut = timeOut * 1000; - req.lastSeq = *seqNo; - - status = DeviceIoControl(hDevice, IOCTL_IMB_GET_ASYNC_MSG, &req, - sizeof(req), &responseData, - sizeof(responseData), &respLength, NULL); - - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", - __FUNCTION__, status); - if (status != TRUE) { - DWORD error = GetLastError(); - /* handle "msg not available" specially. it is different - * from a random old error. - */ - switch (error) { - case IMB_MSG_NOT_AVAILABLE: - return ACCESN_END_OF_DATA; - break; - default: - return ACCESN_ERROR; - break; - } - } else if (respLength < MIN_ASYNC_RESP_SIZE) { - return ACCESN_ERROR; - } - respLength -= MIN_ASYNC_RESP_SIZE; - - if (*msgLen < respLength) { - return ACCESN_ERROR; - } - - /* same code as in NT section */ - if (IpmiVersion == IPMI_09_VERSION) { - switch (channelNumber) { - case IPMB_CHANNEL: - lun = IPMB_LUN; - break; - case EMP_CHANNEL: - lun = EMP_LUN; - break; - default: - lun = RESERVED_LUN; - break; - } - if ((lun == RESERVED_LUN) - || (lun != ((((ImbPacket *)(resp->data))->nfLn) & 0x3 ))) { - *seqNo = resp->thisSeq; - continue; - } - memcpy(msgPtr, resp->data, respLength); - *msgLen = respLength; - } else { - /* it is version 1.0 or better */ - if (resp->data[0] != (BYTE)channelNumber) { - *seqNo = resp->thisSeq; - continue; - } - memcpy(msgPtr, &(resp->data[1]), (respLength - 1)); - *msgLen = respLength - 1; - } - /* give the caller his sequence number */ - *seqNo = resp->thisSeq; - return ACCESN_OK; - } + /* This function does exactly the same as GetAsuncImbpMessage_Ex(), + * but doesn't return session handle and privilege + */ + return GetAsyncImbpMessage_Ex(msgPtr, msgLen, timeOut, + seqNo, channelNumber, + NULL, NULL); } /* GetAsyncImbpMessage_Ex - gets the next available async message with a message @@ -1084,7 +1015,7 @@ GetAsyncImbpMessage_Ex(ImbPacket *msgPtr, DWORD *msgLen, DWORD timeOut, ImbAsyncRequest req; while (1) { - if ((msgPtr == NULL) || (msgLen == NULL) || ( seqNo == NULL)) { + if (!msgPtr || !msgLen || !seqNo) { return ACCESN_ERROR; } @@ -1096,7 +1027,7 @@ GetAsyncImbpMessage_Ex(ImbPacket *msgPtr, DWORD *msgLen, DWORD timeOut, sizeof(responseData), &respLength, NULL); lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", - __FUNCTION__, status); + __func__, status); if (status != TRUE) { DWORD error = GetLastError(); /* handle "msg not available" specially. it is @@ -1110,12 +1041,12 @@ GetAsyncImbpMessage_Ex(ImbPacket *msgPtr, DWORD *msgLen, DWORD timeOut, return ACCESN_ERROR; break; } - } - if (respLength < MIN_ASYNC_RESP_SIZE) { + } else if (respLength < MIN_ASYNC_RESP_SIZE) { return ACCESN_ERROR; } respLength -= MIN_ASYNC_RESP_SIZE; + if (*msgLen < respLength) { return ACCESN_ERROR; } @@ -1143,26 +1074,26 @@ GetAsyncImbpMessage_Ex(ImbPacket *msgPtr, DWORD *msgLen, DWORD timeOut, memcpy(msgPtr, resp->data, respLength); *msgLen = respLength; } else { - if ((sessionHandle ==NULL) || (privilege ==NULL)) { - return ACCESN_ERROR; + /* it is version 1.0 or better */ + if ((resp->data[0] & 0x0f) != (BYTE)channelNumber) { + *seqNo = resp->thisSeq; + continue; } /* With the new IPMI version the get message command * returns the channel number along with the - * privileges.The 1st 4 bits of the second byte of the + * privileges. The 1st 4 bits of the second byte of the * response data for get message command represent the * channel number & the last 4 bits are the privileges. */ - *privilege = (resp->data[0] & 0xf0)>> 4; - if ((resp->data[0] & 0x0f) != (BYTE)channelNumber) { - *seqNo = resp->thisSeq; - continue; + if (sessionHandle && privilege) { + *privilege = (resp->data[0] & 0xf0) >> 4; + /* The get message command according to IPMI 1.5 spec + * now even returns the session handle. This is required + * to be captured as it is required as request data for + * send message command. + */ + *sessionHandle = resp->data[1]; } - /* The get message command according to IPMI 1.5 spec - * now even returns the session handle.This is required - * to be captured as it is required as request data for - * send message command. - */ - *sessionHandle = resp->data[1]; memcpy(msgPtr, &(resp->data[2]), (respLength - 1)); *msgLen = respLength - 1; } @@ -1194,7 +1125,7 @@ IsAsyncMessageAvailable(unsigned int eventId) status = DeviceIoControl(hDevice, IOCTL_IMB_CHECK_EVENT, &AsyncEventHandle, sizeof(HANDLE), &dummy, sizeof(int), (LPDWORD)&respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if (status != TRUE) { return ACCESN_ERROR; @@ -1220,13 +1151,13 @@ RegisterForImbAsyncMessageNotification(unsigned int *handleId) DWORD respLength ; int dummy; /*allow only one app to register */ - if ((handleId == NULL ) || (AsyncEventHandle)) { + if (!handleId || AsyncEventHandle) { return ACCESN_ERROR; } status = DeviceIoControl(hDevice, IOCTL_IMB_REGISTER_ASYNC_OBJ, &dummy, sizeof(int), &AsyncEventHandle, (DWORD)sizeof(HANDLE), (LPDWORD)&respLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if ((respLength != sizeof(int)) || (status != TRUE)) { return ACCESN_ERROR; @@ -1265,7 +1196,7 @@ UnRegisterForImbAsyncMessageNotification(unsigned int handleId, int iFlag) status = DeviceIoControl(hDevice, IOCTL_IMB_DEREGISTER_ASYNC_OBJ, &AsyncEventHandle, (DWORD)sizeof(HANDLE ), &dummy, (DWORD)sizeof(int), (LPDWORD)&respLength, NULL ); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if (status != TRUE) { return ACCESN_ERROR; @@ -1295,7 +1226,7 @@ SetShutDownCode(int delayTime, int code) cmd.delayTime = delayTime; status = DeviceIoControl(hDevice, IOCTL_IMB_SHUTDOWN_CODE, &cmd, sizeof(cmd), NULL, 0, &retLength, NULL); - lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: DeviceIoControl status = %d", __func__, status); if (status == TRUE) { return ACCESN_OK; @@ -1402,7 +1333,7 @@ MapPhysicalMemory(int startAddress, int addressLength, int *virtualAddress) if ((fd = open("/dev/mem", O_RDONLY)) < 0) { char buf[128]; sprintf(buf,"%s %s: open(%s) failed", - __FILE__, __FUNCTION__, IMB_DEVICE); + __FILE__, __func__, IMB_DEVICE); perror(buf); return ACCESN_ERROR; } @@ -1413,12 +1344,12 @@ MapPhysicalMemory(int startAddress, int addressLength, int *virtualAddress) if ((startvAddress = mmap(0, length, PROT_READ, MAP_SHARED, fd, startpAddress)) == MAP_FAILED) { char buf[128]; - sprintf(buf, "%s %s: mmap failed", __FILE__, __FUNCTION__); + sprintf(buf, "%s %s: mmap failed", __FILE__, __func__); perror(buf); close(fd); return ACCESN_ERROR; } - lprintf(LOG_DEBUG, "%s: mmap of 0x%x success", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: mmap of 0x%x success", __func__, startpAddress); #ifdef LINUX_DEBUG_MAX for (int i = 0; i < length; i++) { @@ -1451,15 +1382,15 @@ UnmapPhysicalMemory(int virtualAddress, int Length) diff = ((unsigned int)virtualAddress) % pagesize; virtualAddress -= diff; Length += diff; - lprintf(LOG_DEBUG, "%s: calling munmap(0x%x,%d)", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: calling munmap(0x%x,%d)", __func__, virtualAddress,Length); if (munmap(&virtualAddress, Length) != 0) { char buf[128]; - sprintf(buf, "%s %s: munmap failed", __FILE__, __FUNCTION__); + sprintf(buf, "%s %s: munmap failed", __FILE__, __func__); perror(buf); return ACCESN_ERROR; } - lprintf(LOG_DEBUG, "%s: munmap(0x%x,%d) success", __FUNCTION__, + lprintf(LOG_DEBUG, "%s: munmap(0x%x,%d) success", __func__, virtualAddress, Length); return ACCESN_OK; } diff --git a/src/plugins/imb/imbapi.h b/src/plugins/imb/imbapi.h index 6ba4121..67fdc84 100644 --- a/src/plugins/imb/imbapi.h +++ b/src/plugins/imb/imbapi.h @@ -33,8 +33,14 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *----------------------------------------------------------------------*/ + +#pragma once + #ifndef _WINDEFS_H #define _WINDEFS_H + +#include <stddef.h> + #ifndef FALSE #define FALSE 0 #endif @@ -261,7 +267,7 @@ typedef struct { #define SD_POWER_OFF 2 #pragma pack(1) /* - * This is the generic IMB packet format, the final checksum cant be + * This is the generic IMB packet format, the final checksum can't be * represented in this structure and will show up as the last data byte */ typedef struct { @@ -318,7 +324,7 @@ typedef struct { } ImbRequest; typedef struct { DWORD flags; /* request flags*/ -#define NO_RESPONSE_EXPECTED 0x01 /*dont wait around for an IMB response*/ +#define NO_RESPONSE_EXPECTED 0x01 /*don't wait around for an IMB response*/ DWORD timeOut; /* in uSec units*/ ImbRequest req; /* message buffer*/ } ImbRequestBuffer; @@ -541,7 +547,7 @@ typedef struct */ #define ASYNC_SEQ_START 0 /* - * This is the generic IMB packet format, the final checksum cant be + * This is the generic IMB packet format, the final checksum can't be * represented in this structure and will show up as the last data byte */ /* |