5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are
9 # * Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
12 # * Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in the
14 # documentation and/or other materials provided with the distribution.
16 # * Neither the name of Red Hat nor the names of its contributors may be
17 # used to endorse or promote products derived from this software without
18 # specific prior written permission.
20 # THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23 # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
24 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27 # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
30 # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 /* Generated from nbd-protocol.h by generate-protostrings.sh.
36 * License of this file is BSD, the same as the rest of nbdkit.
40 #include "nbd-protocol.h"
44 declare -A functions
=(
45 [global_flag
]=NBD_FLAG_FIXED_NEWSTYLE
46 [flag
]=NBD_FLAG_HAS_FLAGS
47 [opt
]=NBD_OPT_EXPORT_NAME
49 [info
]=NBD_INFO_EXPORT
50 [reply
]=NBD_REPLY_FLAG_DONE
51 [reply_type
]=NBD_REPLY_TYPE_NONE
53 [cmd_flag
]=NBD_CMD_FLAG_FUA
57 # Generate each 'const char *name_of_nbd_<fn>'
58 keys
=$
( printf '%s\n' ${!functions[@]} |
sort )
60 echo 'extern const char *'
61 echo "name_of_nbd_$fn (unsigned int fl)"
63 echo ' static char buf[] = "unknown (0x00000000)";'
66 # We look for the first #define <symbol> and rewrite every
67 # line up to the next blank line.
68 symbol
="${functions[$fn]}"
69 @SED@
-n "/^#define $symbol/,/^$/p" nbd-protocol.h |
70 @SED@
's/^#define \([_A-Z]*\).*/ case \1:\
74 echo ' snprintf (buf, sizeof buf, "unknown (0x%x)", fl);'