1 /* $NetBSD: report.h,v 1.1.1.1 2008/12/22 00:18:43 haad Exp $ */ 2 3 /* 4 * Copyright (C) 2002-2004 Sistina Software, Inc. All rights reserved. 5 * Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. 6 * 7 * This file is part of LVM2. 8 * 9 * This copyrighted material is made available to anyone wishing to use, 10 * modify, copy, or redistribute it subject to the terms and conditions 11 * of the GNU Lesser General Public License v.2.1. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this program; if not, write to the Free Software Foundation, 15 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 */ 17 18 #ifndef _LVM_REPORT_H 19 #define _LVM_REPORT_H 20 21 #include "metadata-exported.h" 22 23 typedef enum { LVS = 1, PVS = 2, VGS = 4, SEGS = 8, PVSEGS = 16 } report_type_t; 24 25 struct field; 26 struct report_handle; 27 28 typedef int (*field_report_fn) (struct report_handle * dh, struct field * field, 29 const void *data); 30 31 void *report_init(struct cmd_context *cmd, const char *format, const char *keys, 32 report_type_t *report_type, const char *separator, 33 int aligned, int buffered, int headings, int field_prefixes, 34 int quoted, int columns_as_rows); 35 void report_free(void *handle); 36 int report_object(void *handle, struct volume_group *vg, 37 struct logical_volume *lv, struct physical_volume *pv, 38 struct lv_segment *seg, struct pv_segment *pvseg); 39 int report_output(void *handle); 40 41 #endif 42