infiniband-diags: initial port of linux ib diags
[mirror/winof/.git] / tools / infiniband_diags / include / ibdiag_common.h
1 /*\r
2  * Copyright (c) 2006-2007 The Regents of the University of California.\r
3  * Copyright (c) 2004-2008 Voltaire Inc.  All rights reserved.\r
4  *\r
5  * This software is available to you under a choice of one of two\r
6  * licenses.  You may choose to be licensed under the terms of the GNU\r
7  * General Public License (GPL) Version 2, available from the file\r
8  * COPYING in the main directory of this source tree, or the\r
9  * OpenIB.org BSD license below:\r
10  *\r
11  *     Redistribution and use in source and binary forms, with or\r
12  *     without modification, are permitted provided that the following\r
13  *     conditions are met:\r
14  *\r
15  *      - Redistributions of source code must retain the above\r
16  *        copyright notice, this list of conditions and the following\r
17  *        disclaimer.\r
18  *\r
19  *      - Redistributions in binary form must reproduce the above\r
20  *        copyright notice, this list of conditions and the following\r
21  *        disclaimer in the documentation and/or other materials\r
22  *        provided with the distribution.\r
23  *\r
24  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
25  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
26  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
27  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
28  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
29  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
30  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
31  * SOFTWARE.\r
32  *\r
33  */\r
34 \r
35 #ifndef _IBDIAG_COMMON_H_\r
36 #define _IBDIAG_COMMON_H_\r
37 \r
38 #include <stdio.h>\r
39 \r
40 #if !defined( __cplusplus )\r
41 #define inline  __inline\r
42 #endif\r
43 \r
44 extern char *argv0;\r
45 extern int   ibdebug;\r
46 \r
47 /*========================================================*/\r
48 /*                External interface                      */\r
49 /*========================================================*/\r
50 \r
51 void  iberror(const char *fn, char *msg, ...);\r
52 \r
53 #undef DEBUG\r
54 #define DEBUG   if (ibdebug || verbose) IBWARN\r
55 #define VERBOSE if (ibdebug || verbose > 1) IBWARN\r
56 #define IBERROR(fmt, ...) iberror(__FUNCTION__, fmt, ## __VA_ARGS__)\r
57 \r
58 #include <ibdiag_version.h>\r
59 \r
60 static inline const char* get_build_version(void) \r
61\r
62         return "BUILD VERSION: " IBDIAG_VERSION " Build date: " __DATE__ " " __TIME__ ;\r
63 }\r
64 \r
65 #endif  /* _IBDIAG_COMMON_H_ */\r