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