ccdconfig.c (148719) | ccdconfig.c (157740) |
---|---|
1/* 2 * Copyright (c) 2003 Poul-Henning Kamp 3 * Copyright (c) 1995 Jason R. Thorpe. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 18 unchanged lines hidden (view full) --- 27 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 34#include <sys/cdefs.h> | 1/* 2 * Copyright (c) 2003 Poul-Henning Kamp 3 * Copyright (c) 1995 Jason R. Thorpe. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 18 unchanged lines hidden (view full) --- 27 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 34#include <sys/cdefs.h> |
35__FBSDID("$FreeBSD: head/sbin/ccdconfig/ccdconfig.c 148719 2005-08-05 07:39:39Z stefanf $"); | 35__FBSDID("$FreeBSD: head/sbin/ccdconfig/ccdconfig.c 157740 2006-04-13 20:35:31Z cracauer $"); |
36 37#include <sys/param.h> 38#include <sys/linker.h> 39#include <sys/module.h> 40#include <ctype.h> 41#include <err.h> 42#include <errno.h> 43#include <limits.h> 44#include <paths.h> 45#include <stdio.h> 46#include <stdlib.h> 47#include <string.h> 48#include <unistd.h> 49#include <libgeom.h> 50 51#define CCDF_UNIFORM 0x02 /* use LCCD of sizes for uniform interleave */ 52#define CCDF_MIRROR 0x04 /* use mirroring */ | 36 37#include <sys/param.h> 38#include <sys/linker.h> 39#include <sys/module.h> 40#include <ctype.h> 41#include <err.h> 42#include <errno.h> 43#include <limits.h> 44#include <paths.h> 45#include <stdio.h> 46#include <stdlib.h> 47#include <string.h> 48#include <unistd.h> 49#include <libgeom.h> 50 51#define CCDF_UNIFORM 0x02 /* use LCCD of sizes for uniform interleave */ 52#define CCDF_MIRROR 0x04 /* use mirroring */ |
53#define CCDF_NO_OFFSET 0x08 /* do not leave space in front */ 54#define CCDF_LINUX 0x10 /* use Linux compatibility mode */ |
|
53 54#include "pathnames.h" 55 56static int lineno = 0; 57static int verbose = 0; 58static const char *ccdconf = _PATH_CCDCONF; 59 60struct flagval { 61 const char *fv_flag; 62 int fv_val; 63} flagvaltab[] = { 64 { "CCDF_UNIFORM", CCDF_UNIFORM }, 65 { "uniform", CCDF_UNIFORM }, 66 { "CCDF_MIRROR", CCDF_MIRROR }, 67 { "mirror", CCDF_MIRROR }, | 55 56#include "pathnames.h" 57 58static int lineno = 0; 59static int verbose = 0; 60static const char *ccdconf = _PATH_CCDCONF; 61 62struct flagval { 63 const char *fv_flag; 64 int fv_val; 65} flagvaltab[] = { 66 { "CCDF_UNIFORM", CCDF_UNIFORM }, 67 { "uniform", CCDF_UNIFORM }, 68 { "CCDF_MIRROR", CCDF_MIRROR }, 69 { "mirror", CCDF_MIRROR }, |
70 { "CCDF_NO_OFFSET", CCDF_NO_OFFSET }, 71 { "no_offset", CCDF_NO_OFFSET }, 72 { "CCDF_LINUX", CCDF_LINUX }, 73 { "linux", CCDF_LINUX }, |
|
68 { "none", 0 }, 69 { NULL, 0 }, 70}; 71 72#define CCD_CONFIG 0 /* configure a device */ 73#define CCD_CONFIGALL 1 /* configure all devices */ 74#define CCD_UNCONFIG 2 /* unconfigure a device */ 75#define CCD_UNCONFIGALL 3 /* unconfigure all devices */ --- 164 unchanged lines hidden (view full) --- 240 gctl_ro_param(grq, "verb", -1, "create geom"); 241 gctl_ro_param(grq, "class", -1, "CCD"); 242 gctl_ro_param(grq, "unit", sizeof(ccd), &ccd); 243 gctl_ro_param(grq, "ileave", sizeof(ileave), &ileave); 244 if (flags & CCDF_UNIFORM) 245 gctl_ro_param(grq, "uniform", -1, ""); 246 if (flags & CCDF_MIRROR) 247 gctl_ro_param(grq, "mirror", -1, ""); | 74 { "none", 0 }, 75 { NULL, 0 }, 76}; 77 78#define CCD_CONFIG 0 /* configure a device */ 79#define CCD_CONFIGALL 1 /* configure all devices */ 80#define CCD_UNCONFIG 2 /* unconfigure a device */ 81#define CCD_UNCONFIGALL 3 /* unconfigure all devices */ --- 164 unchanged lines hidden (view full) --- 246 gctl_ro_param(grq, "verb", -1, "create geom"); 247 gctl_ro_param(grq, "class", -1, "CCD"); 248 gctl_ro_param(grq, "unit", sizeof(ccd), &ccd); 249 gctl_ro_param(grq, "ileave", sizeof(ileave), &ileave); 250 if (flags & CCDF_UNIFORM) 251 gctl_ro_param(grq, "uniform", -1, ""); 252 if (flags & CCDF_MIRROR) 253 gctl_ro_param(grq, "mirror", -1, ""); |
254 if (flags & CCDF_NO_OFFSET) 255 gctl_ro_param(grq, "no_offset", -1, ""); 256 if (flags & CCDF_LINUX) 257 gctl_ro_param(grq, "linux", -1, ""); |
|
248 gctl_ro_param(grq, "nprovider", sizeof(argc), &argc); 249 for (i = 0; i < argc; i++) { 250 sprintf(buf1, "provider%d", i); 251 cp = argv[i]; 252 if (!strncmp(cp, _PATH_DEV, strlen(_PATH_DEV))) 253 cp += strlen(_PATH_DEV); 254 gctl_ro_param(grq, buf1, -1, cp); 255 } --- 184 unchanged lines hidden --- | 258 gctl_ro_param(grq, "nprovider", sizeof(argc), &argc); 259 for (i = 0; i < argc; i++) { 260 sprintf(buf1, "provider%d", i); 261 cp = argv[i]; 262 if (!strncmp(cp, _PATH_DEV, strlen(_PATH_DEV))) 263 cp += strlen(_PATH_DEV); 264 gctl_ro_param(grq, buf1, -1, cp); 265 } --- 184 unchanged lines hidden --- |