The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/vinum/vinumkw.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 1997, 1998
    3  *      Nan Yang Computer Services Limited.  All rights reserved.
    4  *
    5  *  This software is distributed under the so-called ``Berkeley
    6  *  License'':
    7  *
    8  * Redistribution and use in source and binary forms, with or without
    9  * modification, are permitted provided that the following conditions
   10  * are met:
   11  * 1. Redistributions of source code must retain the above copyright
   12  *    notice, this list of conditions and the following disclaimer.
   13  * 2. Redistributions in binary form must reproduce the above copyright
   14  *    notice, this list of conditions and the following disclaimer in the
   15  *    documentation and/or other materials provided with the distribution.
   16  * 3. Neither the name of the Company nor the names of its contributors
   17  *    may be used to endorse or promote products derived from this software
   18  *    without specific prior written permission.
   19  *
   20  * This software is provided ``as is'', and any express or implied
   21  * warranties, including, but not limited to, the implied warranties of
   22  * merchantability and fitness for a particular purpose are disclaimed.
   23  * In no event shall the company or contributors be liable for any
   24  * direct, indirect, incidental, special, exemplary, or consequential
   25  * damages (including, but not limited to, procurement of substitute
   26  * goods or services; loss of use, data, or profits; or business
   27  * interruption) however caused and on any theory of liability, whether
   28  * in contract, strict liability, or tort (including negligence or
   29  * otherwise) arising in any way out of the use of this software, even if
   30  * advised of the possibility of such damage.
   31  *
   32  * $Id: vinumkw.h,v 1.20 2003/05/07 03:32:09 grog Exp grog $
   33  * $FreeBSD$
   34  */
   35 
   36 /*
   37  * Command keywords that vinum knows.  These include both user-level
   38  * and kernel-level stuff
   39  */
   40 
   41 /*
   42  * Our complete vocabulary.  The names of the commands are
   43  * the same as the identifier without the kw_ at the beginning
   44  * (i.e. kw_create defines the "create" keyword).  Preprocessor
   45  * magic in parser.c does the rest.
   46  *
   47  * To add a new word: put it in the table below and one of the
   48  * lists in vinumparser.c (probably keywords).
   49  */
   50 enum keyword {
   51     kw_create,
   52     kw_modify,
   53     kw_list,
   54     kw_l = kw_list,
   55     kw_ld,                                                  /* list drive */
   56     kw_ls,                                                  /* list subdisk */
   57     kw_lp,                                                  /* list plex */
   58     kw_lv,                                                  /* list volume */
   59     kw_set,
   60     kw_rm,
   61     kw_mv,                                                  /* move object */
   62     kw_move,                                                /* synonym for mv */
   63     kw_start,
   64     kw_stop,
   65     kw_makedev,                                             /* make /dev/vinum devices */
   66     kw_setdaemon,                                           /* set daemon flags */
   67     kw_getdaemon,                                           /* set daemon flags */
   68     kw_help,
   69     kw_drive,
   70     kw_partition,
   71     kw_sd,
   72     kw_subdisk = kw_sd,
   73     kw_plex,
   74     kw_volume,
   75     kw_vol = kw_volume,
   76     kw_read,
   77     kw_readpol,
   78     kw_org,
   79     kw_name,
   80     kw_concat,
   81     kw_striped,
   82     kw_raid4,
   83     kw_raid5,
   84     kw_driveoffset,
   85     kw_plexoffset,
   86     kw_len,
   87     kw_length = kw_len,
   88     kw_size = kw_len,
   89     kw_state,
   90     kw_setupstate,
   91     kw_d,                                                   /* flag names */
   92     kw_f,
   93     kw_r,
   94     kw_s,
   95     kw_v,
   96     kw_w,
   97     kw_round,                                               /* round robin */
   98     /*
   99      * The first of these is a volume attibute ("prefer plex"), and the
  100      * second is a plex attribute ("preferred" means that the volume
  101      * prefers this plex).
  102      */
  103     kw_prefer,                                              /* prefer plex */
  104     kw_preferred,                                           /* preferred plex */
  105     kw_device,
  106     kw_init,
  107     kw_resetconfig,
  108     kw_writethrough,
  109     kw_writeback,
  110     kw_replace,
  111     kw_resetstats,
  112     kw_attach,
  113     kw_detach,
  114     kw_rename,
  115     kw_printconfig,
  116     kw_saveconfig,
  117     kw_hotspare,
  118     kw_detached,
  119     kw_debug,                                               /* go into debugger */
  120     kw_stripe,
  121     kw_mirror,
  122     kw_info,
  123     kw_quit,
  124     kw_max,
  125     kw_setstate,
  126     kw_checkparity,
  127     kw_rebuildparity,
  128     kw_dumpconfig,
  129     kw_retryerrors,
  130     kw_invalid_keyword = -1
  131 };
  132 
  133 struct _keywords {
  134     char *name;
  135     enum keyword keyword;
  136 };
  137 
  138 struct keywordset {
  139     int size;
  140     struct _keywords *k;
  141 };
  142 
  143 extern struct _keywords keywords[];
  144 extern struct _keywords flag_keywords[];
  145 
  146 extern struct keywordset keyword_set;
  147 extern struct keywordset flag_set;
  148 
  149 /* Parser functions */
  150 
  151 enum keyword get_keyword(char *, struct keywordset *);
  152 int tokenize(char *, char *[], int);

Cache object: bcdeffa6c40ae6d485e2a4652c263d93


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.