OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gmp_trace.h
Go to the documentation of this file.
1 /* $Id: gmp_trace.h 346474 2009-11-14 10:18:58Z ssiano $
2  *
3  * gmp_trace.h - GMP role-independent trace support
4  *
5  * Dave Katz, March 2008
6  *
7  * Copyright (c) 2008, Juniper Networks, Inc.
8  * All rights reserved.
9  */
10 
11 /* Packet tracing flags */
12 
13 #define GMP_TRACE_QUERY 0x00000001 /* Query packets */
14 #define GMP_TRACE_QUERY_DETAIL 0x00000002 /* Detailed query packets */
15 #define GMP_TRACE_REPORT 0x00000004 /* Report packets */
16 #define GMP_TRACE_REPORT_DETAIL 0x00000008 /* Detailed report packets */
17 #define GMP_TRACE_LEAVE 0x00000010 /* Leave packets */
18 #define GMP_TRACE_LEAVE_DETAIL 0x00000020 /* Detailed leave packets */
19 #define GMP_TRACE_PACKET_BAD 0x00000040 /* Bad packets */
20 #define GMP_TRACE_PACKET (GMP_TRACE_QUERY | GMP_TRACE_REPORT | \
21  GMP_TRACE_LEAVE) /* Packets */
22 #define GMP_TRACE_PACKET_DETAIL (GMP_TRACE_QUERY_DETAIL | \
23  GMP_TRACE_REPORT_DETAIL | \
24  GMP_TRACE_LEAVE_DETAIL) /* Detail packets */
25 
26 /*
27  * gmp_trace_set
28  *
29  * Returns TRUE if the specified trace flag is in use, or FALSE if not.
30  */
31 static inline boolean
32 gmp_trace_set (uint32_t traceflags, uint32_t tracebits)
33 {
34  return ((traceflags & tracebits) != 0);
35 }
36 
37 /*
38  * gmp_trace
39  *
40  * Conditionally trace.
41  */
42 #define gmp_trace(context, traceflags, flag, ...) \
43  if (gmp_trace_set((traceflags), (flag))) \
44  gmpx_trace((context), __VA_ARGS__)
45 
46 extern const char *gmp_proto_string(gmp_proto proto);
47 extern const char *gmp_filter_mode_string(gmp_filter_mode mode);
48 extern const char *gmp_generic_version_string(gmp_version ver);
static boolean gmp_trace_set(uint32_t traceflags, uint32_t tracebits)
Definition: gmp_trace.h:32
gmp_version
Definition: gmp_private.h:42
const char * gmp_proto_string(gmp_proto proto)
gmp_report_rectype
Definition: gmp_private.h:279
gmp_proto
Definition: gmp.h:45
const char * gmp_report_type_string(gmp_report_rectype type)
uint8_t type
Definition: load_balance.h:109
const char * gmp_filter_mode_string(gmp_filter_mode mode)
gmp_filter_mode
Definition: gmp.h:66
const char * gmp_generic_version_string(gmp_version ver)