18b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/*
28b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Copyright (c) 1995 Danny Gasparovski.
35d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner *
45d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner * Please read the file COPYRIGHT for the
58b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * terms and conditions of the copyright.
68b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */
78b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
88b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define PRN_STDERR	1
98b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define PRN_SPRINTF	2
108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectextern FILE *dfd;
128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectextern FILE *lfd;
138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectextern int dostats;
148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectextern int slirp_debug;
158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DBG_CALL 0x1
178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DBG_MISC 0x2
188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DBG_ERROR 0x4
198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_DEFAULT DBG_CALL|DBG_MISC|DBG_ERROR
208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifdef DEBUG
228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_CALL(x) if (slirp_debug & DBG_CALL) { fprintf(dfd, "%s...\n", x); fflush(dfd); }
238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_ARG(x, y) if (slirp_debug & DBG_CALL) { fputc(' ', dfd); fprintf(dfd, x, y); fputc('\n', dfd); fflush(dfd); }
248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_ARGS(x) if (slirp_debug & DBG_CALL) { fprintf x ; fflush(dfd); }
258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_MISC(x) if (slirp_debug & DBG_MISC) { fprintf x ; fflush(dfd); }
268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_ERROR(x) if (slirp_debug & DBG_ERROR) {fprintf x ; fflush(dfd); }
278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#else
308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_CALL(x)
328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_ARG(x, y)
338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_ARGS(x)
348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_MISC(x)
358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define DEBUG_ERROR(x)
368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
378b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif
388b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
398b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectvoid debug_init _P((char *, int));
40