File: debug.h

package info (click to toggle)
pam-u2f 1.4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,408 kB
  • sloc: sh: 4,849; ansic: 4,728; makefile: 160; python: 16
file content (37 lines) | stat: -rw-r--r-- 1,118 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * Copyright (C) 2021 Yubico AB - See COPYING
 */

#ifndef DEBUG_H
#define DEBUG_H

#include <stdio.h>

#define DEFAULT_DEBUG_FILE stderr

#if defined(DEBUG_PAM)
#define D(file, ...)                                                           \
  debug_fprintf(file, __FILE__, __LINE__, __func__, __VA_ARGS__)
#else
#define D(file, ...) ((void) 0)
#endif /* DEBUG_PAM */

#define debug_dbg(cfg, ...)                                                    \
  do {                                                                         \
    if (cfg->debug) {                                                          \
      D(cfg->debug_file, __VA_ARGS__);                                         \
    }                                                                          \
  } while (0)

#ifdef __GNUC__
#define ATTRIBUTE_FORMAT(f, s, a) __attribute__((format(f, s, a)))
#else
#define ATTRIBUTE_FORMAT(f, s, a)
#endif

FILE *debug_open(const char *);
void debug_close(FILE *f);
void debug_fprintf(FILE *, const char *, int, const char *, const char *, ...)
  ATTRIBUTE_FORMAT(printf, 5, 6);

#endif /* DEBUG_H */