1130389Sle/*- 2190507Slulf * Copyright (c) 2004, 2007 Lukas Ertl 3130389Sle * All rights reserved. 4130389Sle * 5130389Sle * Redistribution and use in source and binary forms, with or without 6130389Sle * modification, are permitted provided that the following conditions 7130389Sle * are met: 8130389Sle * 1. Redistributions of source code must retain the above copyright 9130389Sle * notice, this list of conditions and the following disclaimer. 10130389Sle * 2. Redistributions in binary form must reproduce the above copyright 11130389Sle * notice, this list of conditions and the following disclaimer in the 12130389Sle * documentation and/or other materials provided with the distribution. 13130389Sle * 14130389Sle * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15130389Sle * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16130389Sle * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17130389Sle * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18130389Sle * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19130389Sle * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20130389Sle * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21130389Sle * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22130389Sle * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23130389Sle * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24130389Sle * SUCH DAMAGE. 25130389Sle * 26130389Sle * $FreeBSD: releng/11.0/sys/geom/vinum/geom_vinum_share.h 190881 2009-04-10 08:50:14Z lulf $ 27130389Sle */ 28130389Sle 29130389Sle#ifndef _GEOM_VINUM_SHARE_H_ 30130389Sle#define _GEOM_VINUM_SHARE_H_ 31130389Sle 32130389Sle/* Maximum number of arguments for a single command. */ 33130389Sle#define GV_MAXARGS 64 34130389Sle 35130389Sleenum { 36130389Sle KILOBYTE = 1024, 37130389Sle MEGABYTE = 1048576, 38130389Sle GIGABYTE = 1073741824 39130389Sle}; 40130389Sle 41130389Sleoff_t gv_sizespec(char *); 42130389Sleint gv_tokenize(char *, char **, int); 43130389Sle 44190881Slulfstruct gv_sd *gv_alloc_sd(void); 45190881Slulfstruct gv_volume *gv_alloc_volume(void); 46190881Slulfstruct gv_plex *gv_alloc_plex(void); 47190881Slulfstruct gv_drive *gv_alloc_drive(void); 48130389Slestruct gv_drive *gv_new_drive(int, char **); 49130389Slestruct gv_plex *gv_new_plex(int, char **); 50130389Slestruct gv_sd *gv_new_sd(int, char **); 51130389Slestruct gv_volume *gv_new_volume(int, char **); 52130389Sle 53130389Sleint gv_drivestatei(char *); 54130389Sleint gv_plexorgi(char *); 55130389Sleint gv_plexstatei(char *); 56130389Sleint gv_sdstatei(char *); 57130389Sleint gv_volstatei(char *); 58130389Sle 59130389Sleconst char *gv_drivestate(int); 60130389Sleconst char *gv_plexorg(int); 61130389Sleconst char *gv_plexorg_short(int); 62130389Sleconst char *gv_plexstate(int); 63130389Sleconst char *gv_sdstate(int); 64130389Sleconst char *gv_volstate(int); 65137727Sleconst char *gv_roughlength(off_t, int); 66130389Sle 67130389Sle#endif /* _GEOM_VINUM_SHARE_H_ */ 68