mtr/report.h
Sami Kerola ec7bf240c8
data types: move global data to control structures
This is a big and pretty messy change, but unfortunately there is no nice
way to move variables from global scope to input argument scope.  But that
does not explain why this is needed, so let me try to do that.

Variables in global scope make lousy api.  In order to separate tracing
functionality from various display interfaces making api cleaner is a must.
Further goal of clean api with aim publishing it as libmtr library.  Such
library needs to be fully documented, and it can even provide python
bindings for people and organizations who happen to need such.  Please keep
this plan as a git commit log hush-hush secret.  It might take more than a
moment to get all the necessary changes done to reach fully working, decent,
understandable, documented library similar to libabc.

Reference: https://git.kernel.org/cgit/linux/kernel/git/kay/libabc.git
2016-08-28 19:35:34 +01:00

31 lines
1.1 KiB
C

/*
mtr -- a network diagnostic tool
Copyright (C) 1997,1998 Matt Kimball
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* Prototypes for report.h */
extern void report_open(void);
extern void report_close(struct mtr_ctl *ctl);
extern void txt_open(void);
extern void txt_close(struct mtr_ctl *ctl);
extern void json_open(void);
extern void json_close(struct mtr_ctl *ctl);
extern void xml_open(void);
extern void xml_close(struct mtr_ctl *ctl);
extern void csv_open(void);
extern void csv_close(struct mtr_ctl *ctl, time_t now);