1 /* $NetBSD: report.h,v 1.1.1.2 2009/12/02 00:25:41 haad Exp $ */ 2 3 /* 4 * Copyright (C) 2002-2004 Sistina Software, Inc. All rights reserved. 5 * Copyright (C) 2004-2009 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 { 24 LVS = 1, 25 PVS = 2, 26 VGS = 4, 27 SEGS = 8, 28 PVSEGS = 16, 29 LABEL = 32 30 } report_type_t; 31 32 struct field; 33 struct report_handle; 34 35 typedef int (*field_report_fn) (struct report_handle * dh, struct field * field, 36 const void *data); 37 38 void *report_init(struct cmd_context *cmd, const char *format, const char *keys, 39 report_type_t *report_type, const char *separator, 40 int aligned, int buffered, int headings, int field_prefixes, 41 int quoted, int columns_as_rows); 42 void report_free(void *handle); 43 int report_object(void *handle, struct volume_group *vg, 44 struct logical_volume *lv, struct physical_volume *pv, 45 struct lv_segment *seg, struct pv_segment *pvseg); 46 int report_output(void *handle); 47 48 #endif 49