datapath-windows: STT - Offload inner checksum calculation
[cascardo/ovs.git] / datapath-windows / ovsext / Debug.c
1 /*
2  * Copyright (c) 2014 VMware, Inc.
3  *
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 #include "precomp.h"
18
19 #include "Debug.h"
20 #ifdef DBG
21 #define OVS_DBG_DEFAULT  OVS_DBG_INFO
22 #else
23 #define OVS_DBG_DEFAULT  OVS_DBG_ERROR
24 #endif
25
26 UINT32  ovsLogFlags = 0xffffffff;
27 UINT32  ovsLogLevel = OVS_DBG_DEFAULT;
28
29 #define OVS_LOG_BUFFER_SIZE 384
30
31 /*
32  * --------------------------------------------------------------------------
33  * OvsLog --
34  *  Utility function to log to the Windows debug console.
35  * --------------------------------------------------------------------------
36  */
37 VOID
38 OvsLog(UINT32 level,
39        UINT32 flag,
40        CHAR *funcName,
41        UINT32 line,
42        CHAR *format,
43        ...)
44 {
45     va_list args;
46     CHAR buf[OVS_LOG_BUFFER_SIZE];
47
48     if (level > ovsLogLevel || (ovsLogFlags & flag) == 0) {
49         return;
50     }
51
52     buf[0] = 0;
53     va_start(args, format);
54     RtlStringCbVPrintfA(buf, sizeof (buf), format, args);
55     va_end(args);
56
57     DbgPrintEx(DPFLTR_IHVNETWORK_ID, level, "%s:%lu %s\n", funcName, line, buf);
58 }