1129474Spjd/*- 2162142Spjd * Copyright (c) 2004-2006 Pawel Jakub Dawidek <pjd@FreeBSD.org> 3129474Spjd * All rights reserved. 4129474Spjd * 5129474Spjd * Redistribution and use in source and binary forms, with or without 6129474Spjd * modification, are permitted provided that the following conditions 7129474Spjd * are met: 8129474Spjd * 1. Redistributions of source code must retain the above copyright 9129474Spjd * notice, this list of conditions and the following disclaimer. 10129474Spjd * 2. Redistributions in binary form must reproduce the above copyright 11129474Spjd * notice, this list of conditions and the following disclaimer in the 12129474Spjd * documentation and/or other materials provided with the distribution. 13155175Spjd * 14129474Spjd * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 15129474Spjd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16129474Spjd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17129474Spjd * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 18129474Spjd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19129474Spjd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20129474Spjd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21129474Spjd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22129474Spjd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23129474Spjd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24129474Spjd * SUCH DAMAGE. 25129474Spjd */ 26129474Spjd 27129474Spjd#include <sys/cdefs.h> 28129474Spjd__FBSDID("$FreeBSD$"); 29129474Spjd 30129474Spjd#include <stdio.h> 31129474Spjd#include <stdint.h> 32129474Spjd#include <libgeom.h> 33129474Spjd#include <geom/nop/g_nop.h> 34129474Spjd 35129474Spjd#include "core/geom.h" 36129474Spjd 37129474Spjd 38129474Spjduint32_t lib_version = G_LIB_VERSION; 39129474Spjduint32_t version = G_NOP_VERSION; 40129474Spjd 41129474Spjdstruct g_command class_commands[] = { 42129474Spjd { "create", G_FLAG_VERBOSE | G_FLAG_LOADKLD, NULL, 43129474Spjd { 44212554Spjd { 'e', "error", "-1", G_TYPE_NUMBER }, 45212554Spjd { 'o', "offset", "0", G_TYPE_NUMBER }, 46212554Spjd { 'r', "rfailprob", "-1", G_TYPE_NUMBER }, 47212554Spjd { 's', "size", "0", G_TYPE_NUMBER }, 48212554Spjd { 'S', "secsize", "0", G_TYPE_NUMBER }, 49212554Spjd { 'w', "wfailprob", "-1", G_TYPE_NUMBER }, 50129474Spjd G_OPT_SENTINEL 51143586Spjd }, 52212554Spjd "[-v] [-e error] [-o offset] [-r rfailprob] [-s size] " 53169586Smarcel "[-S secsize] [-w wfailprob] dev ..." 54129474Spjd }, 55129548Spjd { "configure", G_FLAG_VERBOSE, NULL, 56129474Spjd { 57212554Spjd { 'e', "error", "-1", G_TYPE_NUMBER }, 58212554Spjd { 'r', "rfailprob", "-1", G_TYPE_NUMBER }, 59212554Spjd { 'w', "wfailprob", "-1", G_TYPE_NUMBER }, 60129474Spjd G_OPT_SENTINEL 61143586Spjd }, 62212554Spjd "[-v] [-e error] [-r rfailprob] [-w wfailprob] prov ..." 63129474Spjd }, 64129474Spjd { "destroy", G_FLAG_VERBOSE, NULL, 65129474Spjd { 66162868Spjd { 'f', "force", NULL, G_TYPE_BOOL }, 67129474Spjd G_OPT_SENTINEL 68143586Spjd }, 69212554Spjd "[-fv] prov ..." 70129474Spjd }, 71212554Spjd { "reset", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, 72153250Spjd "[-v] prov ..." 73153250Spjd }, 74129474Spjd G_CMD_SENTINEL 75129474Spjd}; 76