blob: ec3a30065d4ffc14d3908c37953242b6161f78bc [file] [log] [blame]
Klement Sekera8f2a4ea2017-05-04 06:15:18 +02001/*
2 *------------------------------------------------------------------
3 * Copyright (c) 2017 Cisco and/or its affiliates.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at:
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *------------------------------------------------------------------
16 */
17
18#ifndef __included_vapi_debug_h__
19#define __included_vapi_debug_h__
20
21/* controls debug prints */
22#define VAPI_DEBUG (0)
23#define VAPI_DEBUG_CONNECT (0)
24#define VAPI_DEBUG_ALLOC (0)
Klement Sekeradc15be22017-06-12 06:49:33 +020025#define VAPI_CPP_DEBUG_LEAKS (0)
Klement Sekera8f2a4ea2017-05-04 06:15:18 +020026
27#if VAPI_DEBUG
28#include <stdio.h>
29#define VAPI_DEBUG_FILE_DEF \
30 static const char *__file = NULL; \
31 { \
32 __file = strrchr (__FILE__, '/'); \
33 if (__file) \
34 { \
35 ++__file; \
36 } \
37 else \
38 { \
39 __file = __FILE__; \
40 } \
41 }
42
43#define VAPI_DBG(fmt, ...) \
44 do \
45 { \
46 VAPI_DEBUG_FILE_DEF \
47 printf ("DBG:%s:%d:%s():" fmt, __file, __LINE__, __func__, \
48 ##__VA_ARGS__); \
49 printf ("\n"); \
50 fflush (stdout); \
51 } \
52 while (0);
53
54#define VAPI_ERR(fmt, ...) \
55 do \
56 { \
57 VAPI_DEBUG_FILE_DEF \
58 printf ("ERR:%s:%d:%s():" fmt, __file, __LINE__, __func__, \
59 ##__VA_ARGS__); \
60 printf ("\n"); \
61 fflush (stdout); \
62 } \
63 while (0);
64#else
65#define VAPI_DBG(...)
66#define VAPI_ERR(...)
67#endif
68
69#endif /* __included_vapi_debug_h__ */
70
71/*
72 * fd.io coding-style-patch-verification: ON
73 *
74 * Local Variables:
75 * eval: (c-set-style "gnu")
76 * End:
77 */