[WinOF] spelling typo in etc\clean-build.bat
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 30 Jan 2009 22:14:04 +0000 (22:14 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 30 Jan 2009 22:14:04 +0000 (22:14 +0000)
[ETC] getopt.c - change EOL char to Windows standard.
[IB-diags] add ibportstate, ibsysstat, saquery (alpha)

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1922 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

19 files changed:
etc/clean-build.bat
inc/user/getopt.h
tools/infiniband_diags/include/InfiniBand/complib/cl_debug.h [new file with mode: 0644]
tools/infiniband_diags/include/ibdiag_common_osd.h
tools/infiniband_diags/src/dirs
tools/infiniband_diags/src/ibportstate.c
tools/infiniband_diags/src/ibportstate/SOURCES [new file with mode: 0644]
tools/infiniband_diags/src/ibportstate/ibportstate.rc [new file with mode: 0644]
tools/infiniband_diags/src/ibportstate/makefile [new file with mode: 0644]
tools/infiniband_diags/src/ibstat/SOURCES
tools/infiniband_diags/src/ibstat/ibstat.rc [new file with mode: 0644]
tools/infiniband_diags/src/ibstat/makefile [new file with mode: 0644]
tools/infiniband_diags/src/ibsysstat/SOURCES [new file with mode: 0644]
tools/infiniband_diags/src/ibsysstat/ibsysstat.rc [new file with mode: 0644]
tools/infiniband_diags/src/ibsysstat/makefile [new file with mode: 0644]
tools/infiniband_diags/src/saquery.c
tools/infiniband_diags/src/saquery/SOURCES
tools/infiniband_diags/src/saquery/makefile [new file with mode: 0644]
tools/infiniband_diags/src/saquery/saquery.rc [new file with mode: 0644]

index 80beb92..33858bf 100644 (file)
@@ -2,7 +2,7 @@
 setlocal\r
 \r
 rem usage: clean-build {scan}\r
-rem no args - remove build specific folder & files: *_wxp_* *_wnet_* *_wlh_*\r
+rem no args - remove build specific folders & files: *_wxp_* *_wnet_* *_wlh_*\r
 rem arg1 != "" - then report matched folders & files - no delete.\r
 \r
 set T=%TEMP%\flist.txt\r
index b422474..2a5367c 100644 (file)
@@ -1,58 +1,58 @@
-/*
- * Copyright (c) 2005 Mellanox Technologies.  All rights reserved.
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. 
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions 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.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _GETOPT_H_
-#define _GETOPT_H_
-
-extern char *optarg;
-extern int optind;
-extern int opterr;
-extern int optopt;
-
-struct option
-{
-       const char      *name;
-       int                     has_arg;
-       int                     *flag;
-       int                     val;
-};
-
-enum
-{
-       no_argument,
-       required_argument,
-       optional_argument
-};
-
-extern int getopt(int argc, char **argv, char const *opts);
-extern int getopt_long(int argc, char **argv, char const *opts,
-                                          const struct option *longopts, int *longindex);
-
-#endif
+/*\r
+ * Copyright (c) 2005 Mellanox Technologies.  All rights reserved.\r
+ * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
+ *\r
+ * This software is available to you under the OpenIB.org BSD license\r
+ * below:\r
+ *\r
+ *     Redistribution and use in source and binary forms, with or\r
+ *     without modification, are permitted provided that the following\r
+ *     conditions are met:\r
+ *\r
+ *      - Redistributions of source code must retain the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer.\r
+ *\r
+ *      - Redistributions in binary form must reproduce the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer in the documentation and/or other materials\r
+ *        provided with the distribution.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
+ * SOFTWARE.\r
+ */\r
+\r
+#ifndef _GETOPT_H_\r
+#define _GETOPT_H_\r
+\r
+extern char *optarg;\r
+extern int optind;\r
+extern int opterr;\r
+extern int optopt;\r
+\r
+struct option\r
+{\r
+       const char      *name;\r
+       int                     has_arg;\r
+       int                     *flag;\r
+       int                     val;\r
+};\r
+\r
+enum\r
+{\r
+       no_argument,\r
+       required_argument,\r
+       optional_argument\r
+};\r
+\r
+extern int getopt(int argc, char **argv, char const *opts);\r
+extern int getopt_long(int argc, char **argv, char const *opts,\r
+                                          const struct option *longopts, int *longindex);\r
+\r
+#endif\r
diff --git a/tools/infiniband_diags/include/InfiniBand/complib/cl_debug.h b/tools/infiniband_diags/include/InfiniBand/complib/cl_debug.h
new file mode 100644 (file)
index 0000000..7e1e509
--- /dev/null
@@ -0,0 +1,10 @@
+/*\r
+ * redirect to complib.\r
+ */\r
+\r
+#ifndef _FAKE_CL_DEBUG_H_\r
+#define _FAKE_CL_DEBUG_H_ 1\r
+\r
+#include <complib\cl_debug.h>\r
+\r
+#endif
\ No newline at end of file
index 313e2a5..f0eda7b 100644 (file)
 #endif\r
 \r
 #define strdup _strdup\r
+\r
 #if !defined(strtoull)\r
 #define strtoull _strtoui64\r
 #endif\r
 \r
+#if !defined(strncasecmp)\r
+#define strncasecmp    _strnicmp\r
+#endif\r
+\r
 #if i386\r
 #define _CDECL __cdecl\r
 #else\r
index afaa359..3d4ce27 100644 (file)
@@ -1,12 +1,9 @@
-DIRS = \\r
-       sminfo \\r
-       ibstat \\r
-       perfquery \\r
-       ibaddr \\r
-       ibnetdiscover \\r
-       vendstat \r
+DIRS =                         \\r
+       sminfo                  \\r
+       ibstat                  \\r
+       perfquery               \\r
+       ibaddr                  \\r
+       ibnetdiscover   \\r
+       vendstat                \ \r
+       ibportstate\r
        \r
-       \r
-       \r
-       \r
-               \r
index 07d7a01..eedfd70 100644 (file)
@@ -43,7 +43,6 @@
 #include <string.h>\r
 #include <getopt.h>\r
 \r
-#include <infiniband/common.h>\r
 #include <infiniband/umad.h>\r
 #include <infiniband/mad.h>\r
 \r
@@ -219,7 +218,7 @@ usage(void)
        exit(-1);\r
 }\r
 \r
-int\r
+int _CDECL\r
 main(int argc, char **argv)\r
 {\r
        int mgmt_classes[3] = {IB_SMI_CLASS, IB_SMI_DIRECT_CLASS, IB_SA_CLASS};\r
@@ -256,7 +255,7 @@ main(int argc, char **argv)
                { "Version", 0, 0, 'V'},\r
                { "help", 0, 0, 'h'},\r
                { "usage", 0, 0, 'u'},\r
-               { }\r
+               { }\r
        };\r
 \r
        argv0 = argv[0];\r
@@ -401,12 +400,12 @@ main(int argc, char **argv)
                                        /* Setup portid for peer port */\r
                                        memcpy(&peerportid, &portid, sizeof(peerportid));\r
                                        peerportid.drpath.cnt = 1;\r
-                                       peerportid.drpath.p[1] = portnum;\r
+                                       peerportid.drpath.p[1] = (uint8_t) portnum;\r
 \r
                                        /* Set DrSLID to local lid */\r
                                        if (ib_resolve_self(&selfportid, &selfport, 0) < 0)\r
                                                IBERROR("could not resolve self");\r
-                                       peerportid.drpath.drslid = selfportid.lid;\r
+                                       peerportid.drpath.drslid = (uint16_t) selfportid.lid;\r
                                        peerportid.drpath.drdlid = 0xffff;\r
 \r
                                        /* Get peer port NodeInfo to obtain peer port number */\r
diff --git a/tools/infiniband_diags/src/ibportstate/SOURCES b/tools/infiniband_diags/src/ibportstate/SOURCES
new file mode 100644 (file)
index 0000000..6d14072
--- /dev/null
@@ -0,0 +1,32 @@
+TARGETNAME = ibportstate\r
+TARGETPATH = ..\..\..\..\bin\user\obj$(BUILD_ALT_DIR)\r
+TARGETTYPE = PROGRAM\r
+\r
+UMTYPE = console\r
+UMENTRY = main\r
+\r
+USE_MSVCRT = 1\r
+USE_STL = 1\r
+USE_NATIVE_EH = 1\r
+USE_IOSTREAM = 1\r
+\r
+SOURCES = ibportstate.rc ..\ibportstate.c ..\ibdiag_common.c ..\ibdiag_osd.c\r
+       \r
+INCLUDES = ..;..\..\include;..\..\..\..\ulp\libibmad\include;..\..\..\..\ulp\libibumad\include;..\..\..\..\inc;..\..\..\..\inc\user;..\..\..\..\ulp\opensm\user\include;\r
+\r
+TARGETLIBS =                                           \\r
+       $(SDK_LIB_PATH)\kernel32.lib    \\r
+       $(SDK_LIB_PATH)\advapi32.lib    \\r
+       $(SDK_LIB_PATH)\user32.lib              \\r
+       $(SDK_LIB_PATH)\ole32.lib               \\r
+       $(SDK_LIB_PATH)\ws2_32.lib              \\r
+!if $(FREEBUILD)\r
+       $(TARGETPATH)\*\libibmad.lib    \\r
+       $(TARGETPATH)\*\libibumad.lib   \\r
+       $(TARGETPATH)\*\complib.lib\r
+!else\r
+       $(TARGETPATH)\*\libibmadd.lib   \\r
+       $(TARGETPATH)\*\libibumadd.lib  \\r
+       $(TARGETPATH)\*\complibd.lib\r
+!endif\r
+\r
diff --git a/tools/infiniband_diags/src/ibportstate/ibportstate.rc b/tools/infiniband_diags/src/ibportstate/ibportstate.rc
new file mode 100644 (file)
index 0000000..8ba95af
--- /dev/null
@@ -0,0 +1,47 @@
+/*\r
+ * Copyright (c) 2009 Intel Corporation.  All rights reserved.\r
+ *\r
+ * This software is available to you under the OpenIB.org BSD license\r
+ * below:\r
+ *\r
+ *     Redistribution and use in source and binary forms, with or\r
+ *     without modification, are permitted provided that the following\r
+ *     conditions are met:\r
+ *\r
+ *      - Redistributions of source code must retain the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer.\r
+ *\r
+ *      - Redistributions in binary form must reproduce the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer in the documentation and/or other materials\r
+ *        provided with the distribution.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
+ * SOFTWARE.\r
+ *\r
+ * $Id$\r
+ */\r
+\r
+\r
+#include <oib_ver.h>\r
+\r
+#define VER_FILETYPE                   VFT_APP\r
+#define VER_FILESUBTYPE                        VFT2_UNKNOWN\r
+\r
+#ifdef DBG\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand Port State (Debug)"\r
+#else\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand Port State"\r
+#endif\r
+\r
+#define VER_INTERNALNAME_STR           "ibportstate.exe"\r
+#define VER_ORIGINALFILENAME_STR       "ibportstate.exe"\r
+\r
+#include <common.ver>\r
diff --git a/tools/infiniband_diags/src/ibportstate/makefile b/tools/infiniband_diags/src/ibportstate/makefile
new file mode 100644 (file)
index 0000000..a0c0627
--- /dev/null
@@ -0,0 +1,7 @@
+#\r
+# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source\r
+# file to this component.  This file merely indirects to the real make file\r
+# that is shared by all the driver components of the OpenIB Windows project.\r
+#\r
+\r
+!INCLUDE ..\..\..\..\inc\openib.def\r
index 9bf3fd5..0e889c1 100644 (file)
@@ -10,7 +10,7 @@ USE_STL = 1
 USE_NATIVE_EH = 1\r
 USE_IOSTREAM = 1\r
 \r
-SOURCES = ..\ibstat.c ..\ibdiag_common.c ..\ibdiag_osd.c\r
+SOURCES = ibstat.rc ..\ibstat.c ..\ibdiag_common.c ..\ibdiag_osd.c\r
        \r
 INCLUDES = ..;..\..\include;..\..\..\..\ulp\libibmad\include;..\..\..\..\ulp\libibumad\include;..\..\..\..\inc;..\..\..\..\inc\user;\r
 \r
diff --git a/tools/infiniband_diags/src/ibstat/ibstat.rc b/tools/infiniband_diags/src/ibstat/ibstat.rc
new file mode 100644 (file)
index 0000000..08dcd48
--- /dev/null
@@ -0,0 +1,47 @@
+/*\r
+ * Copyright (c) 2009 Intel Corporation.  All rights reserved.\r
+ *\r
+ * This software is available to you under the OpenIB.org BSD license\r
+ * below:\r
+ *\r
+ *     Redistribution and use in source and binary forms, with or\r
+ *     without modification, are permitted provided that the following\r
+ *     conditions are met:\r
+ *\r
+ *      - Redistributions of source code must retain the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer.\r
+ *\r
+ *      - Redistributions in binary form must reproduce the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer in the documentation and/or other materials\r
+ *        provided with the distribution.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
+ * SOFTWARE.\r
+ *\r
+ * $Id$\r
+ */\r
+\r
+\r
+#include <oib_ver.h>\r
+\r
+#define VER_FILETYPE                   VFT_APP\r
+#define VER_FILESUBTYPE                        VFT2_UNKNOWN\r
+\r
+#ifdef DBG\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand Fabric Stats (Debug)"\r
+#else\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand Fabric Stats"\r
+#endif\r
+\r
+#define VER_INTERNALNAME_STR           "ibstat.exe"\r
+#define VER_ORIGINALFILENAME_STR       "ibstat.exe"\r
+\r
+#include <common.ver>\r
diff --git a/tools/infiniband_diags/src/ibstat/makefile b/tools/infiniband_diags/src/ibstat/makefile
new file mode 100644 (file)
index 0000000..a0c0627
--- /dev/null
@@ -0,0 +1,7 @@
+#\r
+# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source\r
+# file to this component.  This file merely indirects to the real make file\r
+# that is shared by all the driver components of the OpenIB Windows project.\r
+#\r
+\r
+!INCLUDE ..\..\..\..\inc\openib.def\r
diff --git a/tools/infiniband_diags/src/ibsysstat/SOURCES b/tools/infiniband_diags/src/ibsysstat/SOURCES
new file mode 100644 (file)
index 0000000..ec6fffc
--- /dev/null
@@ -0,0 +1,32 @@
+TARGETNAME = ibsysstat\r
+TARGETPATH = ..\..\..\..\bin\user\obj$(BUILD_ALT_DIR)\r
+TARGETTYPE = PROGRAM\r
+\r
+UMTYPE = console\r
+UMENTRY = main\r
+\r
+USE_MSVCRT = 1\r
+USE_STL = 1\r
+USE_NATIVE_EH = 1\r
+USE_IOSTREAM = 1\r
+\r
+SOURCES = ibsysstat.rc ..\ibsysstat.c ..\ibdiag_common.c ..\ibdiag_osd.c\r
+       \r
+INCLUDES = ..;..\..\include;..\..\..\..\ulp\libibmad\include;..\..\..\..\ulp\libibumad\include;..\..\..\..\inc;..\..\..\..\inc\user;..\..\..\..\ulp\opensm\user\include;\r
+\r
+TARGETLIBS =   \\r
+       $(SDK_LIB_PATH)\kernel32.lib    \\r
+       $(SDK_LIB_PATH)\advapi32.lib    \\r
+       $(SDK_LIB_PATH)\user32.lib      \\r
+       $(SDK_LIB_PATH)\ole32.lib       \\r
+       $(SDK_LIB_PATH)\ws2_32.lib      \\r
+!if $(FREEBUILD)\r
+       $(TARGETPATH)\*\complib.lib     \\r
+       $(TARGETPATH)\*\libibmad.lib    \\r
+       $(TARGETPATH)\*\libibumad.lib   \r
+!else\r
+       $(TARGETPATH)\*\complibd.lib    \\r
+       $(TARGETPATH)\*\libibmadd.lib   \\r
+       $(TARGETPATH)\*\libibumadd.lib  \r
+!endif\r
+\r
diff --git a/tools/infiniband_diags/src/ibsysstat/ibsysstat.rc b/tools/infiniband_diags/src/ibsysstat/ibsysstat.rc
new file mode 100644 (file)
index 0000000..754cf79
--- /dev/null
@@ -0,0 +1,47 @@
+/*\r
+ * Copyright (c) 2009 Intel Corporation.  All rights reserved.\r
+ *\r
+ * This software is available to you under the OpenIB.org BSD license\r
+ * below:\r
+ *\r
+ *     Redistribution and use in source and binary forms, with or\r
+ *     without modification, are permitted provided that the following\r
+ *     conditions are met:\r
+ *\r
+ *      - Redistributions of source code must retain the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer.\r
+ *\r
+ *      - Redistributions in binary form must reproduce the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer in the documentation and/or other materials\r
+ *        provided with the distribution.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
+ * SOFTWARE.\r
+ *\r
+ * $Id$\r
+ */\r
+\r
+\r
+#include <oib_ver.h>\r
+\r
+#define VER_FILETYPE                   VFT_APP\r
+#define VER_FILESUBTYPE                        VFT2_UNKNOWN\r
+\r
+#ifdef DBG\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand System Stats (Debug)"\r
+#else\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand SystemStats"\r
+#endif\r
+\r
+#define VER_INTERNALNAME_STR           "ibsysstat.exe"\r
+#define VER_ORIGINALFILENAME_STR       "ibsysstat.exe"\r
+\r
+#include <common.ver>\r
diff --git a/tools/infiniband_diags/src/ibsysstat/makefile b/tools/infiniband_diags/src/ibsysstat/makefile
new file mode 100644 (file)
index 0000000..a0c0627
--- /dev/null
@@ -0,0 +1,7 @@
+#\r
+# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source\r
+# file to this component.  This file merely indirects to the real make file\r
+# that is shared by all the driver components of the OpenIB Windows project.\r
+#\r
+\r
+!INCLUDE ..\..\..\..\inc\openib.def\r
index d4fb416..5d64d60 100644 (file)
  *\r
  */\r
 \r
-#if !defined(_WIN32)\r
 #include <unistd.h>\r
 #include <stdio.h>\r
+\r
+#if !defined(_WIN32)\r
 #include <sys/types.h>\r
 #include <sys/socket.h>\r
 #include <arpa/inet.h>\r
 #include <assert.h>\r
 #include <ctype.h>\r
 #else\r
-#include <stdio.h>\r
 #endif\r
 #include <string.h>\r
 \r
 #include <getopt.h>\r
 \r
 #include <infiniband/mad.h>\r
+\r
+#if defined(_WIN32)\r
+// ib_types.h must come after mad.h\r
+#include <iba\ib_types.h>\r
+#include <opensm/osm_log.h>\r
+#include <vendor/osm_vendor.h>\r
+#include <vendor/osm_vendor_api.h>\r
+#include <vendor/osm_vendor_sa_api.h>\r
+#include <opensm/osm_mad_pool.h>\r
+#include <complib\cl_types.h>\r
+#define assert CL_ASSERT\r
+#define complib_init()\r
+static char *getpass(const char *);\r
+#else\r
 #include <infiniband/opensm/osm_log.h>\r
 #include <infiniband/vendor/osm_vendor_api.h>\r
 #include <infiniband/vendor/osm_vendor_sa_api.h>\r
 #include <infiniband/opensm/osm_mad_pool.h>\r
+#endif\r
+\r
 #include <infiniband/complib/cl_debug.h>\r
 #include <infiniband/complib/cl_nodenamemap.h>\r
 \r
 #include "ibdiag_common.h"\r
 \r
+\r
 struct query_cmd {\r
        const char *name, *alias;\r
        ib_net16_t query_type;\r
@@ -334,7 +351,7 @@ static void dump_multicast_member_record(void *data)
        char gid_str2[INET6_ADDRSTRLEN];\r
        ib_member_rec_t *p_mcmr = data;\r
        uint16_t mlid = cl_ntoh16(p_mcmr->mlid);\r
-       int i = 0;\r
+       uint32_t i = 0;\r
        char *node_name = "<unknown>";\r
 \r
        /* go through the node records searching for a port guid which matches\r
@@ -655,7 +672,7 @@ static void dump_one_mft_record(void *data)
 }\r
 static void dump_results(osmv_query_res_t * r, void (*dump_func) (void *))\r
 {\r
-       int i;\r
+       uint32_t i;\r
        for (i = 0; i < r->result_cnt; i++) {\r
                void *data = osmv_get_query_result(r->p_result_madw, i);\r
                dump_func(data);\r
@@ -733,7 +750,7 @@ static ib_api_status_t get_all_records(osm_bind_handle_t h, ib_net16_t query_id,
 static ib_api_status_t\r
 get_lid_from_name(osm_bind_handle_t h, const char *name, ib_net16_t * lid)\r
 {\r
-       int i = 0;\r
+       uint32_t i = 0;\r
        ib_node_record_t *node_record = NULL;\r
        ib_node_info_t *p_ni = NULL;\r
        ib_net16_t attr_offset = ib_get_attr_offset(sizeof(*node_record));\r
@@ -764,10 +781,11 @@ static ib_net16_t get_lid(osm_bind_handle_t h, const char *name)
 \r
        if (!name)\r
                return (0);\r
-       if (isalpha(name[0]))\r
+       if (isalpha(name[0])) {\r
                assert(get_lid_from_name(h, name, &rc_lid) == IB_SUCCESS);\r
+       }\r
        else\r
-               rc_lid = atoi(name);\r
+               rc_lid = (ib_net16_t) atoi(name);\r
        if (rc_lid == 0)\r
                fprintf(stderr, "Failed to find lid for \"%s\"\n", name);\r
        return (rc_lid);\r
@@ -833,7 +851,7 @@ static ib_api_status_t get_issm_records(osm_bind_handle_t h,
 \r
 static ib_api_status_t print_node_records(osm_bind_handle_t h)\r
 {\r
-       int i = 0;\r
+       uint32_t i = 0;\r
        ib_node_record_t *node_record = NULL;\r
        ib_net16_t attr_offset = ib_get_attr_offset(sizeof(*node_record));\r
        ib_api_status_t status;\r
@@ -1103,7 +1121,7 @@ static int query_portinfo_records(const struct query_cmd *q,
                comp_mask |= IB_PIR_COMPMASK_LID;\r
        }\r
        if (port >= 0) {\r
-               pir.port_num = cl_hton16(port);\r
+               pir.port_num = (uint8_t) cl_hton16(port);\r
                comp_mask |= IB_PIR_COMPMASK_PORTNUM;\r
        }\r
 \r
@@ -1180,7 +1198,7 @@ static int query_link_records(const struct query_cmd *q,
                comp_mask |= IB_LR_COMPMASK_FROM_LID;\r
        }\r
        if (from_port >= 0) {\r
-               lr.from_port_num = from_port;\r
+               lr.from_port_num = (uint8_t) from_port;\r
                comp_mask |= IB_LR_COMPMASK_FROM_PORT;\r
        }\r
        if (to_lid > 0) {\r
@@ -1188,7 +1206,7 @@ static int query_link_records(const struct query_cmd *q,
                comp_mask |= IB_LR_COMPMASK_TO_LID;\r
        }\r
        if (to_port >= 0) {\r
-               lr.to_port_num = to_port;\r
+               lr.to_port_num = (uint8_t) to_port;\r
                comp_mask |= IB_LR_COMPMASK_TO_PORT;\r
        }\r
 \r
@@ -1221,11 +1239,11 @@ static int query_sl2vl_records(const struct query_cmd *q,
                comp_mask |= IB_SLVL_COMPMASK_LID;\r
        }\r
        if (in_port >= 0) {\r
-               slvl.in_port_num = in_port;\r
+               slvl.in_port_num = (uint8_t) in_port;\r
                comp_mask |= IB_SLVL_COMPMASK_IN_PORT;\r
        }\r
        if (out_port >= 0) {\r
-               slvl.out_port_num = out_port;\r
+               slvl.out_port_num = (uint8_t) out_port;\r
                comp_mask |= IB_SLVL_COMPMASK_OUT_PORT;\r
        }\r
 \r
@@ -1258,11 +1276,11 @@ static int query_vlarb_records(const struct query_cmd *q,
                comp_mask |= IB_VLA_COMPMASK_LID;\r
        }\r
        if (port >= 0) {\r
-               vlarb.port_num = port;\r
+               vlarb.port_num = (uint8_t) port;\r
                comp_mask |= IB_VLA_COMPMASK_OUT_PORT;\r
        }\r
        if (block >= 0) {\r
-               vlarb.block_num = block;\r
+               vlarb.block_num = (uint8_t) block;\r
                comp_mask |= IB_VLA_COMPMASK_BLOCK;\r
        }\r
 \r
@@ -1295,11 +1313,11 @@ static int query_pkey_tbl_records(const struct query_cmd *q,
                comp_mask |= IB_PKEY_COMPMASK_LID;\r
        }\r
        if (port >= 0) {\r
-               pktr.port_num = port;\r
+               pktr.port_num = (uint8_t) port;\r
                comp_mask |= IB_PKEY_COMPMASK_PORT;\r
        }\r
        if (block >= 0) {\r
-               pktr.block_num = block;\r
+               pktr.block_num = (uint8_t) block;\r
                comp_mask |= IB_PKEY_COMPMASK_BLOCK;\r
        }\r
 \r
@@ -1410,11 +1428,19 @@ static osm_bind_handle_t get_bind_handle(void)
 \r
        vendor = osm_vendor_new(&log_osm, sa_timeout_ms);\r
        osm_mad_pool_construct(&mad_pool);\r
+#ifdef _WIN32\r
+       if ((status = osm_mad_pool_init(&mad_pool,&log_osm)) != IB_SUCCESS) {\r
+               fprintf(stderr, "Failed to init mad pool: %s\n",\r
+                       ib_get_err_str(status));\r
+               exit(-1);\r
+       }\r
+#else\r
        if ((status = osm_mad_pool_init(&mad_pool)) != IB_SUCCESS) {\r
                fprintf(stderr, "Failed to init mad pool: %s\n",\r
                        ib_get_err_str(status));\r
                exit(-1);\r
        }\r
+#endif\r
 \r
        if ((status =\r
             osm_vendor_get_all_port_attr(vendor, attr_array,\r
@@ -1619,7 +1645,7 @@ main(int argc, char **argv)
                {"timeout", 1, 0, 't'},\r
                {"node-name-map", 1, 0, 3},\r
                {"smkey", 1, 0, 4},\r
-               {}\r
+               {0}\r
        };\r
 \r
        argv0 = argv[0];\r
@@ -1853,3 +1879,26 @@ main(int argc, char **argv)
        close_node_name_map(node_name_map);\r
        return (status);\r
 }\r
+\r
+#ifdef _WIN32\r
+\r
+#include <user\getopt.c>\r
+\r
+static char * getpass(const char *msg)\r
+{\r
+       static char answer[40];\r
+       int rc;\r
+\r
+       printf("%s ");\r
+       fflush(stdout);\r
+       rc = scanf("%s",answer);\r
+       if (rc <= 0 || rc > 39)\r
+               return NULL;\r
+       return answer;\r
+}\r
+\r
+/* osm_log.c wants this; the price of using opensm routines... */\r
+void OsmReportState(IN const char *p_str)\r
+{\r
+}\r
+#endif\r
index eb0d99f..211dac7 100644 (file)
@@ -10,23 +10,34 @@ USE_STL = 1
 USE_NATIVE_EH = 1\r
 USE_IOSTREAM = 1\r
 \r
-SOURCES = ..\saquery.c ..\ibdiag_common.c\r
+SOURCES = saquery.rc           \\r
+       ..\saquery.c            \\r
+       ..\cl_nodenamemap.c     \\r
+       ..\ibdiag_common.c\r
        \r
-INCLUDES = ..;..\..\include;..\..\..\..\ulp\libibmad\include;..\..\..\..\ulp\libibumad\include;..\..\..\..\inc;..\..\..\..\inc\user;\r
+USER_C_FLAGS=$(USER_C_FLAGS) -D__WIN__\r
 \r
-TARGETLIBS =   \\r
-       $(SDK_LIB_PATH)\kernel32.lib    \\r
-       $(SDK_LIB_PATH)\advapi32.lib    \\r
-       $(SDK_LIB_PATH)\user32.lib      \\r
-       $(SDK_LIB_PATH)\ole32.lib       \\r
-       $(SDK_LIB_PATH)\ws2_32.lib      \\r
+INCLUDES = ..;..\..\include;..\..\..\..\ulp\opensm\user\include;..\..\..\..\ulp\libibmad\include;..\..\..\..\ulp\libibumad\include;..\..\..\..\ulp\opensm\user\include;..\..\..\..\inc;..\..\..\..\inc\user;..\..\include\infiniband;..\..\..\..\etc;\r
+\r
+TARGETLIBS =                                                   \\r
+       $(SDK_LIB_PATH)\kernel32.lib            \\r
+       $(SDK_LIB_PATH)\advapi32.lib            \\r
+       $(SDK_LIB_PATH)\user32.lib                      \\r
+       $(SDK_LIB_PATH)\ole32.lib                       \\r
+       $(SDK_LIB_PATH)\ws2_32.lib                      \\r
 !if $(FREEBUILD)\r
-       $(TARGETPATH)\*\complib.lib     \\r
-       $(TARGETPATH)\*\libibmad.lib    \\r
-       $(TARGETPATH)\*\libibumad.lib   \r
+       $(TARGETPATH)\*\opensm_ibal.lib         \\r
+       $(TARGETPATH)\*\osmv_ibal.lib           \\r
+       $(TARGETPATH)\*\libibmad.lib            \\r
+       $(TARGETPATH)\*\libibumad.lib           \\r
+       $(TARGETPATH)\*\complib.lib                     \\r
+       $(TARGETPATH)\*\ibal.lib        \r
 !else\r
-       $(TARGETPATH)\*\complibd.lib    \\r
-       $(TARGETPATH)\*\libibmadd.lib   \\r
-       $(TARGETPATH)\*\libibumadd.lib  \r
+       $(TARGETPATH)\*\opensm_ibald.lib        \\r
+       $(TARGETPATH)\*\osmv_ibald.lib          \\r
+       $(TARGETPATH)\*\libibmadd.lib           \\r
+       $(TARGETPATH)\*\libibumadd.lib          \\r
+       $(TARGETPATH)\*\complibd.lib            \\r
+       $(TARGETPATH)\*\ibald.lib       \r
 !endif\r
 \r
diff --git a/tools/infiniband_diags/src/saquery/makefile b/tools/infiniband_diags/src/saquery/makefile
new file mode 100644 (file)
index 0000000..a0c0627
--- /dev/null
@@ -0,0 +1,7 @@
+#\r
+# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source\r
+# file to this component.  This file merely indirects to the real make file\r
+# that is shared by all the driver components of the OpenIB Windows project.\r
+#\r
+\r
+!INCLUDE ..\..\..\..\inc\openib.def\r
diff --git a/tools/infiniband_diags/src/saquery/saquery.rc b/tools/infiniband_diags/src/saquery/saquery.rc
new file mode 100644 (file)
index 0000000..0005f49
--- /dev/null
@@ -0,0 +1,47 @@
+/*\r
+ * Copyright (c) 2009 Intel Corporation.  All rights reserved.\r
+ *\r
+ * This software is available to you under the OpenIB.org BSD license\r
+ * below:\r
+ *\r
+ *     Redistribution and use in source and binary forms, with or\r
+ *     without modification, are permitted provided that the following\r
+ *     conditions are met:\r
+ *\r
+ *      - Redistributions of source code must retain the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer.\r
+ *\r
+ *      - Redistributions in binary form must reproduce the above\r
+ *        copyright notice, this list of conditions and the following\r
+ *        disclaimer in the documentation and/or other materials\r
+ *        provided with the distribution.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
+ * SOFTWARE.\r
+ *\r
+ * $Id$\r
+ */\r
+\r
+\r
+#include <oib_ver.h>\r
+\r
+#define VER_FILETYPE                   VFT_APP\r
+#define VER_FILESUBTYPE                        VFT2_UNKNOWN\r
+\r
+#ifdef DBG\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand Subnet Administrator Query (Debug)"\r
+#else\r
+#define VER_FILEDESCRIPTION_STR        "InfiniBand Subnet Administrator Query"\r
+#endif\r
+\r
+#define VER_INTERNALNAME_STR           "ibsaquery.exe"\r
+#define VER_ORIGINALFILENAME_STR       "ibsaquery.exe"\r
+\r
+#include <common.ver>\r