summaryrefslogtreecommitdiff
path: root/lib/lanplus/inc/ipmitool/helper.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lanplus/inc/ipmitool/helper.h')
-rw-r--r--lib/lanplus/inc/ipmitool/helper.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/lib/lanplus/inc/ipmitool/helper.h b/lib/lanplus/inc/ipmitool/helper.h
new file mode 100644
index 0000000..7f8a06e
--- /dev/null
+++ b/lib/lanplus/inc/ipmitool/helper.h
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+
+#ifndef IPMI_HELPER_H
+#define IPMI_HELPER_H
+
+#ifdef WIN32
+#include <inttypes-win.h>
+#include <stdio.h>
+#include <string.h>
+#define snprintf _snprintf
+#define vsnprintf _vsnprintf
+#define strncasecmp strnicmp
+#define strcasecmp _stricmp
+// #define strcasecmp stricmp
+// extern int stricmp(const char *__s1, const char *__s2);
+#else
+#include <sys/types.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <string.h>
+#endif
+
+
+struct ipmi_intf;
+
+struct valstr {
+ uint16_t val;
+ const char * str;
+};
+struct oemvalstr {
+ uint16_t oem;
+ uint16_t val;
+ const char * str;
+};
+
+const char * val2str(uint16_t val, const struct valstr * vs);
+const char * oemval2str(uint16_t oem,uint16_t val, const struct oemvalstr * vs);
+uint16_t str2val(const char * str, const struct valstr * vs);
+void print_valstr(const struct valstr * vs, const char * title, int loglevel);
+void print_valstr_2col(const struct valstr * vs, const char * title, int loglevel);
+
+
+uint16_t buf2short(uint8_t * buf);
+uint32_t buf2long(uint8_t * buf);
+const char * buf2str(uint8_t * buf, int len);
+void printbuf(const uint8_t * buf, int len, const char * desc);
+uint8_t ipmi_csum(uint8_t * d, int s);
+FILE * ipmi_open_file(const char * file, int rw);
+void ipmi_start_daemon(struct ipmi_intf *intf);
+
+#define ipmi_open_file_read(file) ipmi_open_file(file, 0)
+#define ipmi_open_file_write(file) ipmi_open_file(file, 1)
+
+#ifndef WIN32
+#ifndef __min
+# define __min(a, b) ((a) < (b) ? (a) : (b))
+#endif
+
+#ifndef __max
+# define __max(a, b) ((a) > (b) ? (a) : (b))
+#endif
+#endif
+
+#ifndef __minlen
+# define __minlen(a, b) ({ int x=strlen(a); int y=strlen(b); (x < y) ? x : y;})
+#endif
+
+#ifndef __maxlen
+# define __maxlen(a, b) ({ int x=strlen(a); int y=strlen(b); (x > y) ? x : y;})
+#endif
+
+#endif /* IPMI_HELPER_H */