Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
docs/misc/xl-disk-configuration.txt | 17 +
tools/libxl/libxlu_disk_l.c | 690 +++++++++++++++++++----------------
tools/libxl/libxlu_disk_l.h | 2 +-
tools/libxl/libxlu_disk_l.l | 9 +
4 files changed, 395 insertions(+), 323 deletions(-)
diff --git a/docs/misc/xl-disk-configuration.txt
b/docs/misc/xl-disk-configuration.txt
index de0a75e..91e0cc7 100644
--- a/docs/misc/xl-disk-configuration.txt
+++ b/docs/misc/xl-disk-configuration.txt
@@ -139,6 +139,23 @@ cdrom
Convenience alias for "devtype=cdrom".
+backendtype=<backend-type>
+--------------------------
+
+Description: Specifies the backend implementation to use
+Supported values: phy, tap, qdisk
+Mandatory: No
+Default value: Automatically determine which backend to use.
+
+This does not affect the guest's view of the device. It controls
+which software implementation of the Xen backend driver us used.
+
+Not all backend drivers support all combinations of other options.
+For example, "phy" does not support formats other than "raw".
+Normally this option should not be specified, in which case libxl will
+automatically determine the most suitable backend.
+
+
script=<script>
---------------
diff --git a/tools/libxl/libxlu_disk_l.c b/tools/libxl/libxlu_disk_l.c
index e653d8d..14d3dce 100644
--- a/tools/libxl/libxlu_disk_l.c
+++ b/tools/libxl/libxlu_disk_l.c
@@ -357,8 +357,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t
yyscanner );
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 24
-#define YY_END_OF_BUFFER 25
+#define YY_NUM_RULES 25
+#define YY_END_OF_BUFFER 26
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -366,86 +366,90 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_acclist[436] =
+static yyconst flex_int16_t yy_acclist[453] =
{ 0,
- 23, 23, 25, 21, 22, 24, 8193, 21, 22, 24,
- 16385, 8193, 21, 24,16385, 21, 22, 24, 22, 24,
- 21, 22, 24, 21, 22, 24, 21, 22, 24, 21,
- 22, 24, 21, 22, 24, 21, 22, 24, 21, 22,
- 24, 21, 22, 24, 21, 22, 24, 21, 22, 24,
- 21, 22, 24, 21, 22, 24, 21, 22, 24, 21,
- 22, 24, 23, 24, 24, 21, 21, 8193, 21, 8193,
- 21,16385, 8193, 21, 8193, 21, 21, 8212, 21,16404,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 23, 8193, 21,
-
- 8193, 21, 8193, 8212, 21, 8212, 21, 8212, 11, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 8212, 21, 8212, 21, 8212,
- 11, 21, 16, 8212, 21,16404, 21, 21, 21, 21,
- 21, 21, 8212, 21,16404, 19, 8212, 21,16404, 21,
- 8204, 8212, 21,16396,16404, 21, 21, 8207, 8212, 21,
- 16399,16404, 21, 21, 21, 21, 16, 8212, 21, 16,
- 8212, 21, 16, 21, 16, 8212, 3, 21, 21, 18,
- 8212, 21,16404, 21, 21, 21, 21, 19, 8212, 21,
- 19, 8212, 21, 19, 21, 19, 8212, 8204, 8212, 21,
-
- 8204, 8212, 21, 8204, 21, 8204, 8212, 21, 8207, 8212,
- 21, 8207, 8212, 21, 8207, 21, 8207, 8212, 21, 21,
- 8, 21, 16, 8212, 21, 16, 8212, 21, 16, 8212,
- 16, 21, 16, 3, 21, 21, 18, 8212, 21, 18,
- 8212, 21, 18, 21, 18, 8212, 21, 17, 8212, 21,
- 16404, 8205, 8212, 21,16397,16404, 21, 19, 8212, 21,
- 19, 8212, 21, 19, 8212, 19, 21, 19, 8204, 8212,
- 21, 8204, 8212, 21, 8204, 8212, 8204, 21, 8204, 21,
- 8207, 8212, 21, 8207, 8212, 21, 8207, 8212, 8207, 21,
- 8207, 21, 21, 8, 11, 8, 7, 21, 18, 8212,
-
- 21, 18, 8212, 21, 18, 8212, 18, 21, 18, 2,
- 17, 8212, 21, 17, 8212, 21, 17, 21, 17, 8212,
- 8205, 8212, 21, 8205, 8212, 21, 8205, 21, 8205, 8212,
- 21, 9, 21, 10, 8, 8, 11, 7, 11, 7,
- 6, 2, 11, 2, 17, 8212, 21, 17, 8212, 21,
- 17, 8212, 17, 21, 17, 8205, 8212, 21, 8205, 8212,
- 21, 8205, 8212, 8205, 21, 8205, 21, 9, 11, 9,
- 14, 8212, 21,16404, 10, 11, 10, 7, 7, 11,
- 6, 11, 6, 6, 11, 6, 11, 2, 2, 11,
- 8205, 21,16397, 9, 9, 11, 14, 8212, 21, 14,
-
- 8212, 21, 14, 21, 14, 8212, 10, 11, 6, 6,
- 11, 6, 6, 14, 8212, 21, 14, 8212, 21, 14,
- 8212, 14, 21, 14, 6, 6, 6, 5, 6, 4,
- 6, 5, 6, 4, 6
+ 24, 24, 26, 22, 23, 25, 8193, 22, 23, 25,
+ 16385, 8193, 22, 25,16385, 22, 23, 25, 23, 25,
+ 22, 23, 25, 22, 23, 25, 22, 23, 25, 22,
+ 23, 25, 22, 23, 25, 22, 23, 25, 22, 23,
+ 25, 22, 23, 25, 22, 23, 25, 22, 23, 25,
+ 22, 23, 25, 22, 23, 25, 22, 23, 25, 22,
+ 23, 25, 22, 23, 25, 24, 25, 25, 22, 22,
+ 8193, 22, 8193, 22,16385, 8193, 22, 8193, 22, 22,
+ 8213, 22,16405, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+
+ 22, 24, 8193, 22, 8193, 22, 8193, 8213, 22, 8213,
+ 22, 8213, 12, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 8213, 22, 8213, 22, 8213, 12, 22, 17, 8213, 22,
+ 16405, 22, 22, 22, 22, 22, 22, 22, 8213, 22,
+ 16405, 20, 8213, 22,16405, 22, 8205, 8213, 22,16397,
+ 16405, 22, 22, 8208, 8213, 22,16400,16405, 22, 22,
+ 22, 22, 17, 8213, 22, 17, 8213, 22, 17, 22,
+ 17, 8213, 22, 3, 22, 22, 19, 8213, 22,16405,
+ 22, 22, 22, 22, 20, 8213, 22, 20, 8213, 22,
+
+ 20, 22, 20, 8213, 8205, 8213, 22, 8205, 8213, 22,
+ 8205, 22, 8205, 8213, 22, 8208, 8213, 22, 8208, 8213,
+ 22, 8208, 22, 8208, 8213, 22, 22, 9, 22, 17,
+ 8213, 22, 17, 8213, 22, 17, 8213, 17, 22, 17,
+ 22, 3, 22, 22, 19, 8213, 22, 19, 8213, 22,
+ 19, 22, 19, 8213, 22, 18, 8213, 22,16405, 8206,
+ 8213, 22,16398,16405, 22, 20, 8213, 22, 20, 8213,
+ 22, 20, 8213, 20, 22, 20, 8205, 8213, 22, 8205,
+ 8213, 22, 8205, 8213, 8205, 22, 8205, 22, 8208, 8213,
+ 22, 8208, 8213, 22, 8208, 8213, 8208, 22, 8208, 22,
+
+ 22, 9, 12, 9, 7, 22, 22, 19, 8213, 22,
+ 19, 8213, 22, 19, 8213, 19, 22, 19, 2, 18,
+ 8213, 22, 18, 8213, 22, 18, 22, 18, 8213, 8206,
+ 8213, 22, 8206, 8213, 22, 8206, 22, 8206, 8213, 22,
+ 10, 22, 11, 9, 9, 12, 7, 12, 7, 22,
+ 6, 2, 12, 2, 18, 8213, 22, 18, 8213, 22,
+ 18, 8213, 18, 22, 18, 8206, 8213, 22, 8206, 8213,
+ 22, 8206, 8213, 8206, 22, 8206, 22, 10, 12, 10,
+ 15, 8213, 22,16405, 11, 12, 11, 7, 7, 12,
+ 22, 6, 12, 6, 6, 12, 6, 12, 2, 2,
+
+ 12, 8206, 22,16398, 10, 10, 12, 15, 8213, 22,
+ 15, 8213, 22, 15, 22, 15, 8213, 11, 12, 22,
+ 6, 6, 12, 6, 6, 15, 8213, 22, 15, 8213,
+ 22, 15, 8213, 15, 22, 15, 22, 6, 6, 8,
+ 6, 5, 6, 8, 12, 4, 6, 5, 6, 8,
+ 4, 6
} ;
-static yyconst flex_int16_t yy_accept[241] =
+static yyconst flex_int16_t yy_accept[255] =
{ 0,
1, 1, 1, 2, 3, 4, 7, 12, 16, 19,
21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
- 51, 54, 57, 60, 63, 65, 66, 67, 68, 70,
- 73, 75, 76, 77, 78, 81, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 101, 103, 104, 106, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 128, 130,
- 131, 132, 133, 137, 138, 139, 140, 141, 142, 143,
- 146, 150, 151, 156, 157, 158, 163, 164, 165, 166,
-
- 167, 170, 173, 175, 177, 179, 180, 184, 185, 186,
- 187, 188, 191, 194, 196, 198, 201, 204, 206, 208,
- 209, 212, 215, 217, 219, 220, 221, 222, 223, 226,
- 229, 231, 233, 234, 236, 237, 240, 243, 245, 247,
- 248, 252, 257, 258, 261, 264, 266, 268, 269, 272,
- 275, 277, 279, 280, 281, 284, 287, 289, 291, 292,
- 293, 294, 296, 297, 298, 299, 302, 305, 307, 309,
- 310, 311, 314, 317, 319, 321, 324, 327, 329, 331,
- 332, 333, 334, 335, 336, 338, 340, 341, 342, 344,
- 345, 348, 351, 353, 355, 356, 359, 362, 364, 366,
-
- 367, 368, 370, 371, 375, 377, 378, 379, 381, 383,
- 384, 386, 388, 389, 391, 394, 395, 397, 400, 403,
- 405, 407, 409, 410, 412, 413, 414, 417, 420, 422,
- 424, 425, 426, 427, 428, 430, 432, 434, 436, 436
+ 51, 54, 57, 60, 63, 66, 68, 69, 70, 71,
+ 73, 76, 78, 79, 80, 81, 84, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 105, 107, 108,
+ 110, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 131, 133, 135, 136, 137, 138, 142, 143, 144, 145,
+ 146, 147, 148, 149, 152, 156, 157, 162, 163, 164,
+
+ 169, 170, 171, 172, 173, 176, 179, 181, 183, 184,
+ 186, 187, 191, 192, 193, 194, 195, 198, 201, 203,
+ 205, 208, 211, 213, 215, 216, 219, 222, 224, 226,
+ 227, 228, 229, 230, 233, 236, 238, 240, 241, 242,
+ 244, 245, 248, 251, 253, 255, 256, 260, 265, 266,
+ 269, 272, 274, 276, 277, 280, 283, 285, 287, 288,
+ 289, 292, 295, 297, 299, 300, 301, 302, 304, 305,
+ 306, 307, 308, 311, 314, 316, 318, 319, 320, 323,
+ 326, 328, 330, 333, 336, 338, 340, 341, 342, 343,
+ 344, 345, 347, 349, 350, 351, 352, 354, 355, 358,
+
+ 361, 363, 365, 366, 369, 372, 374, 376, 377, 378,
+ 380, 381, 385, 387, 388, 389, 391, 392, 394, 395,
+ 397, 399, 400, 402, 405, 406, 408, 411, 414, 416,
+ 418, 420, 421, 422, 424, 425, 426, 429, 432, 434,
+ 436, 437, 438, 439, 440, 441, 442, 444, 446, 448,
+ 450, 451, 453, 453
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -488,214 +492,242 @@ static yyconst flex_int32_t yy_meta[34] =
1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[295] =
+static yyconst flex_int16_t yy_base[311] =
{ 0,
- 0, 0, 545, 544, 546, 541, 32, 35, 549, 549,
- 44, 62, 531, 529, 519, 33, 26, 530, 523, 527,
- 528, 525, 526, 42, 0, 549, 531, 549, 65, 73,
- 0, 0, 82, 0, 91, 0, 522, 509, 505, 500,
- 519, 508, 501, 513, 514, 512, 491, 499, 490, 494,
- 15, 506, 506, 0, 69, 0, 0, 94, 0, 0,
- 514, 503, 508, 491, 485, 499, 490, 489, 482, 501,
- 500, 475, 498, 487, 94, 488, 472, 101, 0, 0,
- 549, 474, 110, 477, 462, 475, 461, 437, 425, 422,
- 119, 53, 128, 398, 403, 137, 389, 389, 382, 355,
-
- 140, 0, 144, 0, 371, 342, 153, 330, 339, 315,
- 54, 156, 0, 160, 0, 163, 0, 167, 0, 287,
- 170, 0, 174, 0, 279, 270, 277, 271, 177, 0,
- 0, 0, 0, 549, 265, 181, 0, 184, 0, 269,
- 193, 202, 76, 205, 0, 0, 0, 0, 209, 0,
- 0, 0, 0, 268, 212, 0, 0, 0, 0, 256,
- 266, 270, 549, 269, 263, 216, 0, 0, 0, 0,
- 267, 219, 0, 223, 0, 226, 0, 230, 0, 75,
- 265, 260, 105, 241, 549, 234, 549, 113, 227, 549,
- 233, 0, 0, 0, 0, 237, 0, 0, 0, 0,
-
- 239, 220, 549, 247, 196, 0, 148, 549, 147, 549,
- 178, 171, 131, 549, 250, 112, 549, 254, 0, 257,
- 0, 0, 102, 549, 240, 164, 261, 0, 0, 0,
- 0, 258, 130, 195, 85, 39, 549, 549, 549, 282,
- 286, 289, 293, 297, 301, 305, 309, 313, 317, 321,
- 325, 329, 333, 337, 341, 345, 349, 353, 357, 361,
- 365, 369, 373, 377, 381, 385, 389, 393, 397, 401,
- 405, 409, 413, 417, 421, 425, 429, 433, 437, 441,
- 445, 449, 453, 457, 461, 465, 469, 473, 477, 481,
- 485, 489, 493, 497
-
+ 0, 0, 560, 556, 555, 539, 32, 35, 662, 662,
+ 44, 62, 30, 40, 32, 50, 525, 49, 47, 59,
+ 68, 517, 69, 509, 72, 0, 662, 507, 662, 83,
+ 91, 0, 0, 100, 489, 109, 0, 78, 51, 86,
+ 89, 74, 96, 105, 109, 110, 111, 112, 117, 73,
+ 119, 118, 121, 120, 122, 0, 134, 0, 0, 138,
+ 0, 0, 471, 130, 144, 129, 143, 145, 146, 147,
+ 148, 149, 153, 154, 155, 158, 161, 165, 166, 170,
+ 180, 0, 0, 662, 171, 201, 176, 175, 178, 183,
+ 458, 182, 190, 446, 212, 188, 221, 208, 224, 234,
+
+ 209, 230, 236, 221, 244, 0, 247, 0, 184, 248,
+ 244, 269, 231, 247, 251, 258, 272, 0, 279, 0,
+ 283, 0, 286, 0, 255, 290, 0, 293, 0, 270,
+ 281, 447, 254, 297, 0, 0, 0, 0, 294, 662,
+ 295, 308, 0, 310, 0, 257, 319, 328, 304, 331,
+ 0, 0, 0, 0, 335, 0, 0, 0, 0, 316,
+ 338, 0, 0, 0, 0, 333, 336, 429, 662, 428,
+ 338, 340, 348, 0, 0, 0, 0, 427, 351, 0,
+ 355, 0, 359, 0, 362, 0, 357, 426, 308, 369,
+ 425, 662, 423, 662, 346, 365, 421, 662, 371, 0,
+
+ 0, 0, 0, 378, 0, 0, 0, 0, 380, 420,
+ 662, 388, 419, 0, 418, 662, 373, 417, 662, 372,
+ 382, 416, 662, 398, 415, 662, 400, 0, 402, 0,
+ 0, 385, 264, 662, 390, 275, 409, 0, 0, 0,
+ 0, 405, 404, 406, 0, 412, 224, 129, 87, 662,
+ 47, 662, 662, 434, 438, 441, 445, 449, 453, 457,
+ 461, 465, 469, 473, 477, 481, 485, 489, 493, 497,
+ 501, 505, 509, 513, 517, 521, 525, 529, 533, 537,
+ 541, 545, 549, 553, 557, 561, 565, 569, 573, 577,
+ 581, 585, 589, 593, 597, 601, 605, 609, 613, 617,
+
+ 621, 625, 629, 633, 637, 641, 645, 649, 653, 657
} ;
-static yyconst flex_int16_t yy_def[295] =
+static yyconst flex_int16_t yy_def[311] =
{ 0,
- 239, 1, 240, 240, 239, 241, 242, 242, 239, 239,
- 243, 243, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 244, 239, 241, 239, 245, 242,
- 246, 246, 247, 12, 241, 248, 12, 12, 12, 12,
+ 253, 1, 254, 254, 253, 255, 256, 256, 253, 253,
+ 257, 257, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 258, 253, 255, 253, 259,
+ 256, 260, 260, 261, 12, 255, 262, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 244, 245, 246, 246, 249, 250, 250,
- 239, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 249, 250, 250,
- 239, 12, 251, 12, 12, 12, 12, 12, 12, 35,
- 252, 12, 253, 12, 12, 254, 12, 12, 12, 12,
-
- 255, 256, 251, 256, 12, 12, 257, 12, 12, 12,
- 241, 258, 259, 252, 259, 260, 261, 253, 261, 12,
- 262, 263, 254, 263, 12, 12, 264, 12, 255, 256,
- 256, 265, 265, 239, 12, 266, 267, 257, 267, 12,
- 268, 269, 241, 258, 259, 259, 270, 270, 260, 261,
- 261, 271, 271, 12, 262, 263, 263, 272, 272, 12,
- 12, 273, 239, 274, 12, 266, 267, 267, 275, 275,
- 276, 277, 278, 268, 278, 279, 280, 269, 280, 241,
- 281, 12, 282, 273, 239, 283, 239, 284, 285, 239,
- 277, 278, 278, 286, 286, 279, 280, 280, 287, 287,
-
- 241, 288, 239, 289, 290, 290, 283, 239, 291, 239,
- 291, 291, 285, 239, 269, 288, 239, 292, 293, 289,
- 293, 290, 291, 239, 291, 291, 292, 293, 293, 294,
- 294, 291, 291, 291, 291, 291, 239, 239, 0, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239
-
+ 12, 12, 12, 12, 12, 258, 259, 260, 260, 263,
+ 264, 264, 253, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 263, 264, 264, 253, 12, 265, 12, 12, 12, 12,
+ 12, 12, 12, 36, 266, 12, 267, 12, 12, 268,
+
+ 12, 12, 12, 12, 269, 270, 265, 270, 12, 12,
+ 12, 271, 12, 12, 12, 255, 272, 273, 266, 273,
+ 274, 275, 267, 275, 12, 276, 277, 268, 277, 12,
+ 12, 278, 12, 269, 270, 270, 279, 279, 12, 253,
+ 12, 280, 281, 271, 281, 12, 282, 283, 255, 272,
+ 273, 273, 284, 284, 274, 275, 275, 285, 285, 12,
+ 276, 277, 277, 286, 286, 12, 12, 287, 253, 288,
+ 12, 12, 280, 281, 281, 289, 289, 290, 291, 292,
+ 282, 292, 293, 294, 283, 294, 255, 295, 12, 296,
+ 287, 253, 297, 253, 12, 298, 299, 253, 291, 292,
+
+ 292, 300, 300, 293, 294, 294, 301, 301, 255, 302,
+ 253, 303, 304, 304, 297, 253, 12, 305, 253, 305,
+ 305, 299, 253, 283, 302, 253, 306, 307, 303, 307,
+ 304, 12, 305, 253, 305, 305, 306, 307, 307, 308,
+ 308, 12, 305, 305, 309, 305, 305, 310, 305, 253,
+ 310, 253, 0, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253
} ;
-static yyconst flex_int16_t yy_nxt[583] =
+static yyconst flex_int16_t yy_nxt[696] =
{ 0,
6, 7, 8, 9, 6, 6, 6, 6, 10, 11,
- 12, 13, 14, 15, 16, 12, 12, 17, 12, 12,
- 12, 12, 18, 12, 19, 20, 21, 22, 23, 12,
- 24, 12, 12, 30, 30, 31, 30, 30, 31, 75,
- 32, 76, 238, 32, 27, 27, 27, 28, 33, 44,
- 42, 35, 36, 45, 52, 37, 43, 28, 53, 73,
- 93, 38, 27, 27, 27, 28, 33, 27, 56, 35,
- 36, 27, 56, 57, 30, 30, 31, 57, 28, 28,
- 143, 32, 27, 27, 27, 28, 180, 201, 237, 27,
- 36, 58, 58, 58, 59, 58, 27, 79, 58, 60,
-
- 95, 96, 80, 27, 79, 210, 97, 61, 206, 80,
- 101, 101, 58, 102, 101, 203, 210, 101, 104, 112,
- 112, 58, 113, 112, 211, 212, 112, 115, 116, 116,
- 58, 117, 116, 210, 190, 116, 119, 121, 121, 58,
- 122, 121, 27, 130, 121, 124, 27, 132, 131, 235,
- 224, 187, 133, 136, 136, 58, 137, 136, 27, 145,
- 136, 139, 27, 147, 146, 27, 150, 210, 148, 27,
- 152, 151, 27, 156, 224, 153, 27, 158, 157, 27,
- 130, 224, 159, 27, 167, 131, 27, 169, 226, 168,
- 225, 233, 170, 172, 172, 58, 173, 172, 210, 222,
-
- 172, 175, 176, 176, 58, 177, 176, 27, 145, 176,
- 179, 27, 150, 146, 27, 156, 236, 151, 27, 167,
- 157, 27, 192, 217, 168, 27, 194, 193, 27, 197,
- 214, 195, 27, 199, 198, 27, 192, 208, 200, 27,
- 197, 193, 28, 210, 163, 198, 215, 218, 218, 58,
- 219, 218, 27, 199, 218, 221, 27, 228, 200, 27,
- 230, 210, 229, 27, 228, 231, 232, 204, 203, 229,
- 190, 188, 187, 185, 183, 182, 181, 171, 165, 164,
- 163, 234, 25, 25, 25, 25, 27, 27, 27, 29,
- 29, 29, 29, 34, 34, 34, 34, 54, 161, 54,
-
- 54, 55, 55, 55, 55, 57, 160, 57, 57, 33,
- 33, 33, 33, 61, 61, 154, 61, 78, 78, 78,
- 78, 80, 142, 80, 80, 103, 103, 103, 103, 114,
- 114, 114, 114, 118, 118, 118, 118, 123, 123, 123,
- 123, 129, 129, 129, 129, 131, 141, 131, 131, 138,
- 138, 138, 138, 144, 144, 144, 144, 146, 140, 146,
- 146, 149, 149, 149, 149, 151, 135, 151, 151, 155,
- 155, 155, 155, 157, 134, 157, 157, 162, 162, 162,
- 162, 133, 128, 133, 133, 166, 166, 166, 166, 168,
- 127, 168, 168, 174, 174, 174, 174, 178, 178, 178,
-
- 178, 148, 126, 148, 148, 153, 125, 153, 153, 159,
- 96, 159, 159, 184, 184, 184, 184, 186, 186, 186,
- 186, 170, 120, 170, 170, 189, 189, 189, 189, 191,
- 191, 191, 191, 193, 111, 193, 193, 196, 196, 196,
- 196, 198, 110, 198, 198, 202, 202, 202, 202, 205,
- 205, 205, 205, 207, 207, 207, 207, 209, 209, 209,
- 209, 213, 213, 213, 213, 195, 109, 195, 195, 200,
- 108, 200, 200, 216, 216, 216, 216, 220, 220, 220,
- 220, 206, 107, 206, 206, 223, 223, 223, 223, 227,
- 227, 227, 227, 229, 106, 229, 229, 231, 105, 231,
-
- 231, 100, 99, 98, 94, 93, 92, 91, 90, 89,
- 88, 87, 86, 85, 84, 83, 82, 81, 73, 77,
- 74, 73, 72, 71, 70, 69, 68, 67, 66, 46,
- 65, 64, 63, 62, 28, 51, 50, 49, 48, 47,
- 46, 41, 40, 39, 28, 239, 26, 26, 5, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239
+ 12, 13, 14, 15, 16, 17, 17, 18, 17, 17,
+ 17, 17, 19, 17, 20, 21, 22, 23, 24, 17,
+ 25, 17, 17, 31, 31, 32, 31, 31, 32, 35,
+ 33, 35, 41, 33, 28, 28, 28, 29, 34, 35,
+ 253, 36, 37, 42, 43, 38, 35, 48, 35, 35,
+ 35, 39, 28, 28, 28, 29, 34, 44, 35, 36,
+ 37, 40, 46, 45, 65, 49, 47, 35, 35, 50,
+ 52, 35, 35, 35, 54, 28, 58, 35, 55, 64,
+ 252, 59, 31, 31, 32, 35, 75, 66, 35, 33,
+
+ 28, 28, 28, 29, 68, 35, 48, 28, 37, 60,
+ 60, 60, 61, 60, 35, 67, 60, 62, 35, 35,
+ 35, 35, 72, 71, 73, 69, 35, 35, 35, 35,
+ 35, 35, 84, 80, 76, 70, 28, 58, 35, 35,
+ 28, 82, 59, 85, 77, 78, 83, 79, 87, 74,
+ 76, 86, 35, 35, 35, 35, 35, 35, 35, 90,
+ 94, 95, 35, 35, 35, 97, 88, 35, 91, 92,
+ 35, 99, 100, 89, 35, 35, 93, 101, 98, 35,
+ 35, 102, 28, 82, 35, 35, 96, 35, 83, 109,
+ 112, 35, 35, 35, 76, 97, 110, 35, 104, 35,
+
+ 103, 105, 105, 60, 106, 105, 139, 115, 105, 108,
+ 111, 114, 117, 117, 60, 118, 117, 35, 35, 117,
+ 120, 121, 121, 60, 122, 121, 130, 250, 121, 124,
+ 35, 100, 125, 35, 126, 126, 60, 127, 126, 35,
+ 35, 126, 129, 131, 132, 35, 28, 135, 133, 28,
+ 137, 140, 136, 35, 147, 138, 35, 35, 148, 146,
+ 35, 29, 170, 35, 35, 178, 35, 219, 141, 142,
+ 142, 60, 143, 142, 28, 151, 142, 145, 219, 35,
+ 152, 28, 153, 160, 149, 28, 156, 154, 28, 158,
+ 35, 157, 28, 162, 159, 28, 164, 166, 163, 28,
+
+ 135, 165, 244, 35, 35, 136, 171, 29, 172, 167,
+ 28, 174, 28, 176, 187, 212, 175, 35, 177, 179,
+ 179, 60, 180, 179, 188, 35, 179, 182, 183, 183,
+ 60, 184, 183, 28, 151, 183, 186, 28, 156, 152,
+ 28, 162, 35, 157, 190, 35, 163, 35, 196, 35,
+ 28, 174, 189, 28, 200, 35, 175, 28, 202, 201,
+ 29, 28, 205, 203, 28, 207, 195, 206, 219, 209,
+ 208, 63, 214, 28, 200, 234, 220, 221, 217, 201,
+ 28, 205, 35, 29, 235, 234, 206, 224, 227, 227,
+ 60, 228, 227, 219, 35, 227, 230, 232, 242, 236,
+
+ 28, 207, 28, 238, 28, 240, 208, 219, 239, 219,
+ 241, 28, 238, 245, 35, 219, 243, 239, 211, 198,
+ 234, 194, 231, 226, 223, 247, 216, 246, 169, 211,
+ 198, 194, 192, 249, 26, 26, 26, 26, 28, 28,
+ 28, 30, 30, 30, 30, 35, 35, 35, 35, 56,
+ 169, 56, 56, 57, 57, 57, 57, 59, 116, 59,
+ 59, 34, 34, 34, 34, 63, 63, 113, 63, 81,
+ 81, 81, 81, 83, 84, 83, 83, 107, 107, 107,
+ 107, 119, 119, 119, 119, 123, 123, 123, 123, 128,
+ 128, 128, 128, 134, 134, 134, 134, 136, 35, 136,
+
+ 136, 144, 144, 144, 144, 150, 150, 150, 150, 152,
+ 29, 152, 152, 155, 155, 155, 155, 157, 53, 157,
+ 157, 161, 161, 161, 161, 163, 51, 163, 163, 168,
+ 168, 168, 168, 138, 35, 138, 138, 173, 173, 173,
+ 173, 175, 29, 175, 175, 181, 181, 181, 181, 185,
+ 185, 185, 185, 154, 253, 154, 154, 159, 27, 159,
+ 159, 165, 27, 165, 165, 191, 191, 191, 191, 193,
+ 193, 193, 193, 177, 253, 177, 177, 197, 197, 197,
+ 197, 199, 199, 199, 199, 201, 253, 201, 201, 204,
+ 204, 204, 204, 206, 253, 206, 206, 210, 210, 210,
+
+ 210, 213, 213, 213, 213, 215, 215, 215, 215, 218,
+ 218, 218, 218, 222, 222, 222, 222, 203, 253, 203,
+ 203, 208, 253, 208, 208, 225, 225, 225, 225, 229,
+ 229, 229, 229, 214, 253, 214, 214, 233, 233, 233,
+ 233, 237, 237, 237, 237, 239, 253, 239, 239, 241,
+ 253, 241, 241, 248, 248, 253, 248, 251, 251, 251,
+ 251, 5, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253
+
} ;
-static yyconst flex_int16_t yy_chk[583] =
+static yyconst flex_int16_t yy_chk[696] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 7, 7, 7, 8, 8, 8, 51,
- 7, 51, 236, 8, 11, 11, 11, 11, 11, 17,
- 16, 11, 11, 17, 24, 11, 16, 111, 24, 92,
- 92, 11, 12, 12, 12, 12, 12, 29, 29, 12,
- 12, 55, 55, 29, 30, 30, 30, 55, 180, 143,
- 111, 30, 33, 33, 33, 33, 143, 180, 235, 33,
- 33, 35, 35, 35, 35, 35, 58, 58, 35, 35,
-
- 75, 75, 58, 78, 78, 223, 75, 183, 183, 78,
- 83, 83, 83, 83, 83, 216, 188, 83, 83, 91,
- 91, 91, 91, 91, 188, 188, 91, 91, 93, 93,
- 93, 93, 93, 233, 213, 93, 93, 96, 96, 96,
- 96, 96, 101, 101, 96, 96, 103, 103, 101, 233,
- 209, 207, 103, 107, 107, 107, 107, 107, 112, 112,
- 107, 107, 114, 114, 112, 116, 116, 226, 114, 118,
- 118, 116, 121, 121, 212, 118, 123, 123, 121, 129,
- 129, 211, 123, 136, 136, 129, 138, 138, 212, 136,
- 211, 226, 138, 141, 141, 141, 141, 141, 234, 205,
-
- 141, 141, 142, 142, 142, 142, 142, 144, 144, 142,
- 142, 149, 149, 144, 155, 155, 234, 149, 166, 166,
- 155, 172, 172, 202, 166, 174, 174, 172, 176, 176,
- 189, 174, 178, 178, 176, 191, 191, 186, 178, 196,
- 196, 191, 201, 225, 184, 196, 201, 204, 204, 204,
- 204, 204, 215, 215, 204, 204, 218, 218, 215, 220,
- 220, 232, 218, 227, 227, 220, 225, 182, 181, 227,
- 171, 165, 164, 162, 161, 160, 154, 140, 135, 128,
- 127, 232, 240, 240, 240, 240, 241, 241, 241, 242,
- 242, 242, 242, 243, 243, 243, 243, 244, 126, 244,
-
- 244, 245, 245, 245, 245, 246, 125, 246, 246, 247,
- 247, 247, 247, 248, 248, 120, 248, 249, 249, 249,
- 249, 250, 110, 250, 250, 251, 251, 251, 251, 252,
- 252, 252, 252, 253, 253, 253, 253, 254, 254, 254,
- 254, 255, 255, 255, 255, 256, 109, 256, 256, 257,
- 257, 257, 257, 258, 258, 258, 258, 259, 108, 259,
- 259, 260, 260, 260, 260, 261, 106, 261, 261, 262,
- 262, 262, 262, 263, 105, 263, 263, 264, 264, 264,
- 264, 265, 100, 265, 265, 266, 266, 266, 266, 267,
- 99, 267, 267, 268, 268, 268, 268, 269, 269, 269,
-
- 269, 270, 98, 270, 270, 271, 97, 271, 271, 272,
- 95, 272, 272, 273, 273, 273, 273, 274, 274, 274,
- 274, 275, 94, 275, 275, 276, 276, 276, 276, 277,
- 277, 277, 277, 278, 90, 278, 278, 279, 279, 279,
- 279, 280, 89, 280, 280, 281, 281, 281, 281, 282,
- 282, 282, 282, 283, 283, 283, 283, 284, 284, 284,
- 284, 285, 285, 285, 285, 286, 88, 286, 286, 287,
- 87, 287, 287, 288, 288, 288, 288, 289, 289, 289,
- 289, 290, 86, 290, 290, 291, 291, 291, 291, 292,
- 292, 292, 292, 293, 85, 293, 293, 294, 84, 294,
-
- 294, 82, 77, 76, 74, 73, 72, 71, 70, 69,
- 68, 67, 66, 65, 64, 63, 62, 61, 53, 52,
- 50, 49, 48, 47, 46, 45, 44, 43, 42, 41,
- 40, 39, 38, 37, 27, 23, 22, 21, 20, 19,
- 18, 15, 14, 13, 6, 5, 4, 3, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
- 239, 239
+ 1, 1, 1, 7, 7, 7, 8, 8, 8, 13,
+ 7, 15, 13, 8, 11, 11, 11, 11, 11, 14,
+ 251, 11, 11, 14, 15, 11, 19, 19, 18, 16,
+ 39, 11, 12, 12, 12, 12, 12, 16, 20, 12,
+ 12, 12, 18, 16, 39, 20, 18, 21, 23, 21,
+ 23, 25, 50, 42, 25, 30, 30, 38, 25, 38,
+ 249, 30, 31, 31, 31, 40, 50, 40, 41, 31,
+
+ 34, 34, 34, 34, 42, 43, 43, 34, 34, 36,
+ 36, 36, 36, 36, 44, 41, 36, 36, 45, 46,
+ 47, 48, 47, 46, 48, 44, 49, 52, 51, 54,
+ 53, 55, 248, 54, 55, 45, 57, 57, 66, 64,
+ 60, 60, 57, 64, 52, 53, 60, 53, 66, 49,
+ 51, 65, 67, 65, 68, 69, 70, 71, 72, 69,
+ 73, 74, 73, 74, 75, 76, 67, 76, 70, 71,
+ 77, 78, 78, 68, 78, 79, 72, 78, 77, 80,
+ 85, 79, 81, 81, 88, 87, 75, 89, 81, 87,
+ 90, 92, 90, 109, 96, 96, 88, 96, 85, 93,
+
+ 80, 86, 86, 86, 86, 86, 109, 93, 86, 86,
+ 89, 92, 95, 95, 95, 95, 95, 98, 101, 95,
+ 95, 97, 97, 97, 97, 97, 101, 247, 97, 97,
+ 104, 99, 98, 99, 100, 100, 100, 100, 100, 102,
+ 113, 100, 100, 102, 103, 103, 105, 105, 104, 107,
+ 107, 110, 105, 111, 114, 107, 114, 110, 115, 113,
+ 115, 116, 133, 133, 125, 146, 146, 233, 111, 112,
+ 112, 112, 112, 112, 117, 117, 112, 112, 236, 130,
+ 117, 119, 119, 125, 116, 121, 121, 119, 123, 123,
+ 131, 121, 126, 126, 123, 128, 128, 130, 126, 134,
+
+ 134, 128, 236, 139, 141, 134, 139, 149, 141, 131,
+ 142, 142, 144, 144, 149, 189, 142, 189, 144, 147,
+ 147, 147, 147, 147, 160, 160, 147, 147, 148, 148,
+ 148, 148, 148, 150, 150, 148, 148, 155, 155, 150,
+ 161, 161, 166, 155, 167, 167, 161, 171, 172, 172,
+ 173, 173, 166, 179, 179, 195, 173, 181, 181, 179,
+ 187, 183, 183, 181, 185, 185, 171, 183, 196, 187,
+ 185, 190, 190, 199, 199, 220, 196, 196, 195, 199,
+ 204, 204, 217, 209, 220, 221, 204, 209, 212, 212,
+ 212, 212, 212, 235, 232, 212, 212, 217, 232, 221,
+
+ 224, 224, 227, 227, 229, 229, 224, 243, 227, 244,
+ 229, 237, 237, 242, 242, 246, 235, 237, 225, 222,
+ 218, 215, 213, 210, 197, 244, 193, 243, 191, 188,
+ 178, 170, 168, 246, 254, 254, 254, 254, 255, 255,
+ 255, 256, 256, 256, 256, 257, 257, 257, 257, 258,
+ 132, 258, 258, 259, 259, 259, 259, 260, 94, 260,
+ 260, 261, 261, 261, 261, 262, 262, 91, 262, 263,
+ 263, 263, 263, 264, 63, 264, 264, 265, 265, 265,
+ 265, 266, 266, 266, 266, 267, 267, 267, 267, 268,
+ 268, 268, 268, 269, 269, 269, 269, 270, 35, 270,
+
+ 270, 271, 271, 271, 271, 272, 272, 272, 272, 273,
+ 28, 273, 273, 274, 274, 274, 274, 275, 24, 275,
+ 275, 276, 276, 276, 276, 277, 22, 277, 277, 278,
+ 278, 278, 278, 279, 17, 279, 279, 280, 280, 280,
+ 280, 281, 6, 281, 281, 282, 282, 282, 282, 283,
+ 283, 283, 283, 284, 5, 284, 284, 285, 4, 285,
+ 285, 286, 3, 286, 286, 287, 287, 287, 287, 288,
+ 288, 288, 288, 289, 0, 289, 289, 290, 290, 290,
+ 290, 291, 291, 291, 291, 292, 0, 292, 292, 293,
+ 293, 293, 293, 294, 0, 294, 294, 295, 295, 295,
+
+ 295, 296, 296, 296, 296, 297, 297, 297, 297, 298,
+ 298, 298, 298, 299, 299, 299, 299, 300, 0, 300,
+ 300, 301, 0, 301, 301, 302, 302, 302, 302, 303,
+ 303, 303, 303, 304, 0, 304, 304, 305, 305, 305,
+ 305, 306, 306, 306, 306, 307, 0, 307, 307, 308,
+ 0, 308, 308, 309, 309, 0, 309, 310, 310, 310,
+ 310, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
+ 253, 253, 253, 253, 253
+
} ;
#define YY_TRAILING_MASK 0x2000
@@ -815,10 +847,18 @@ static void setformat(DiskParseContext *dpc, const char
*str) {
else xlu__disk_err(dpc,str,"unknown value for format");
}
+/* Sets ->backend from the string. IDL should provide something for this. */
+static void setbackendtype(DiskParseContext *dpc, const char *str) {
+ if ( !strcmp(str,"phy")) DSET(dpc,backend,BACKEND,str,PHY);
+ else if (!strcmp(str,"tap")) DSET(dpc,backend,BACKEND,str,TAP);
+ else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
+ else xlu__disk_err(dpc,str,"unknown value for backendtype");
+}
+
#define DEPRECATE(usewhatinstead) /* not currently reported */
-#line 822 "libxlu_disk_l.c"
+#line 862 "libxlu_disk_l.c"
#define INITIAL 0
#define LEXERR 1
@@ -1054,12 +1094,12 @@ YY_DECL
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 118 "libxlu_disk_l.l"
+#line 126 "libxlu_disk_l.l"
/*----- the scanner rules which do the parsing -----*/
-#line 1063 "libxlu_disk_l.c"
+#line 1103 "libxlu_disk_l.c"
if ( !yyg->yy_init )
{
@@ -1123,14 +1163,14 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
yy_current_state )
{
yy_current_state = (int)
yy_def[yy_current_state];
- if ( yy_current_state >= 240 )
+ if ( yy_current_state >= 254 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] +
(unsigned int) yy_c];
*yyg->yy_state_ptr++ = yy_current_state;
++yy_cp;
}
- while ( yy_current_state != 239 );
+ while ( yy_current_state != 253 );
yy_find_action:
yy_current_state = *--yyg->yy_state_ptr;
@@ -1180,148 +1220,154 @@ do_action: /* This label is used only to access
EOF actions. */
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 122 "libxlu_disk_l.l"
+#line 130 "libxlu_disk_l.l"
{ /* ignore whitespace before parameters */ }
YY_BREAK
/* ordinary parameters setting enums or strings */
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 126 "libxlu_disk_l.l"
+#line 134 "libxlu_disk_l.l"
{ STRIP(','); setformat(DPC, FROMEQUALS); }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 128 "libxlu_disk_l.l"
+#line 136 "libxlu_disk_l.l"
{ DPC->disk->is_cdrom = 1; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 129 "libxlu_disk_l.l"
+#line 137 "libxlu_disk_l.l"
{ DPC->disk->is_cdrom = 1; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 130 "libxlu_disk_l.l"
+#line 138 "libxlu_disk_l.l"
{ DPC->disk->is_cdrom = 0; }
YY_BREAK
case 6:
/* rule 6 can match eol */
YY_RULE_SETUP
-#line 131 "libxlu_disk_l.l"
+#line 139 "libxlu_disk_l.l"
{ xlu__disk_err(DPC,yytext,"unknown value for type"); }
YY_BREAK
case 7:
/* rule 7 can match eol */
YY_RULE_SETUP
-#line 133 "libxlu_disk_l.l"
+#line 141 "libxlu_disk_l.l"
{ STRIP(','); setaccess(DPC, FROMEQUALS); }
YY_BREAK
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 135 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
+#line 142 "libxlu_disk_l.l"
+{ STRIP(','); setbackendtype(DPC,yytext); }
YY_BREAK
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
-#line 136 "libxlu_disk_l.l"
+#line 144 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
+ YY_BREAK
+case 10:
+/* rule 10 can match eol */
+YY_RULE_SETUP
+#line 145 "libxlu_disk_l.l"
{ STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
YY_BREAK
/* the target magic parameter, eats the rest of the string */
-case 10:
+case 11:
YY_RULE_SETUP
-#line 140 "libxlu_disk_l.l"
+#line 149 "libxlu_disk_l.l"
{ STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); }
YY_BREAK
/* unknown parameters */
-case 11:
-/* rule 11 can match eol */
+case 12:
+/* rule 12 can match eol */
YY_RULE_SETUP
-#line 144 "libxlu_disk_l.l"
+#line 153 "libxlu_disk_l.l"
{ xlu__disk_err(DPC,yytext,"unknown parameter"); }
YY_BREAK
/* deprecated prefixes */
/* the "/.*" in these patterns ensures that they count as if they
* matched the whole string, so these patterns take precedence */
-case 12:
+case 13:
YY_RULE_SETUP
-#line 151 "libxlu_disk_l.l"
+#line 160 "libxlu_disk_l.l"
{
STRIP(':');
DPC->had_depr_prefix=1; DEPRECATE("use `[format=]...,'");
setformat(DPC, yytext);
}
YY_BREAK
-case 13:
+case 14:
YY_RULE_SETUP
-#line 157 "libxlu_disk_l.l"
+#line 166 "libxlu_disk_l.l"
{
STRIP(':');
DPC->had_depr_prefix=1; DEPRECATE("use `script=...'");
SAVESTRING("script", script, yytext);
}
YY_BREAK
-case 14:
+case 15:
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
yyg->yy_c_buf_p = yy_cp = yy_bp + 8;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 163 "libxlu_disk_l.l"
+#line 172 "libxlu_disk_l.l"
{ DPC->had_depr_prefix=1; DEPRECATE(0); }
YY_BREAK
-case 15:
+case 16:
YY_RULE_SETUP
-#line 164 "libxlu_disk_l.l"
+#line 173 "libxlu_disk_l.l"
{ DPC->had_depr_prefix=1; DEPRECATE(0); }
YY_BREAK
-case 16:
+case 17:
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 165 "libxlu_disk_l.l"
+#line 174 "libxlu_disk_l.l"
{ DPC->had_depr_prefix=1; DEPRECATE(0); }
YY_BREAK
-case 17:
+case 18:
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
yyg->yy_c_buf_p = yy_cp = yy_bp + 6;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 166 "libxlu_disk_l.l"
+#line 175 "libxlu_disk_l.l"
{ DPC->had_depr_prefix=1; DEPRECATE(0); }
YY_BREAK
-case 18:
+case 19:
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
yyg->yy_c_buf_p = yy_cp = yy_bp + 5;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 167 "libxlu_disk_l.l"
+#line 176 "libxlu_disk_l.l"
{ DPC->had_depr_prefix=1; DEPRECATE(0); }
YY_BREAK
-case 19:
+case 20:
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 168 "libxlu_disk_l.l"
+#line 177 "libxlu_disk_l.l"
{ DPC->had_depr_prefix=1; DEPRECATE(0); }
YY_BREAK
-case 20:
-/* rule 20 can match eol */
+case 21:
+/* rule 21 can match eol */
YY_RULE_SETUP
-#line 170 "libxlu_disk_l.l"
+#line 179 "libxlu_disk_l.l"
{
xlu__disk_err(DPC,yytext,"unknown deprecated disk prefix");
return 0;
}
YY_BREAK
/* positional parameters */
-case 21:
-/* rule 21 can match eol */
+case 22:
+/* rule 22 can match eol */
YY_RULE_SETUP
-#line 177 "libxlu_disk_l.l"
+#line 186 "libxlu_disk_l.l"
{
char *colon;
STRIP(',');
@@ -1356,27 +1402,27 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 22:
+case 23:
YY_RULE_SETUP
-#line 211 "libxlu_disk_l.l"
+#line 220 "libxlu_disk_l.l"
{
BEGIN(LEXERR);
yymore();
}
YY_BREAK
-case 23:
+case 24:
YY_RULE_SETUP
-#line 215 "libxlu_disk_l.l"
+#line 224 "libxlu_disk_l.l"
{
xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0;
}
YY_BREAK
-case 24:
+case 25:
YY_RULE_SETUP
-#line 218 "libxlu_disk_l.l"
+#line 227 "libxlu_disk_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 1380 "libxlu_disk_l.c"
+#line 1426 "libxlu_disk_l.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(LEXERR):
yyterminate();
@@ -1640,7 +1686,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 240 )
+ if ( yy_current_state >= 254 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned
int) yy_c];
@@ -1664,11 +1710,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 240 )
+ if ( yy_current_state >= 254 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)
yy_c];
- yy_is_jam = (yy_current_state == 239);
+ yy_is_jam = (yy_current_state == 253);
if ( ! yy_is_jam )
*yyg->yy_state_ptr++ = yy_current_state;
@@ -2468,4 +2514,4 @@ void xlu__disk_yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 218 "libxlu_disk_l.l"
+#line 227 "libxlu_disk_l.l"
diff --git a/tools/libxl/libxlu_disk_l.h b/tools/libxl/libxlu_disk_l.h
index 7c1a8a0..2b6396e 100644
--- a/tools/libxl/libxlu_disk_l.h
+++ b/tools/libxl/libxlu_disk_l.h
@@ -340,7 +340,7 @@ extern int xlu__disk_yylex (yyscan_t yyscanner);
#undef YY_DECL
#endif
-#line 218 "libxlu_disk_l.l"
+#line 227 "libxlu_disk_l.l"
#line 346 "libxlu_disk_l.h"
#undef xlu__disk_yyIN_HEADER
diff --git a/tools/libxl/libxlu_disk_l.l b/tools/libxl/libxlu_disk_l.l
index 48a1314..e9d43c9 100644
--- a/tools/libxl/libxlu_disk_l.l
+++ b/tools/libxl/libxlu_disk_l.l
@@ -100,6 +100,14 @@ static void setformat(DiskParseContext *dpc, const char
*str) {
else xlu__disk_err(dpc,str,"unknown value for format");
}
+/* Sets ->backend from the string. IDL should provide something for this. */
+static void setbackendtype(DiskParseContext *dpc, const char *str) {
+ if ( !strcmp(str,"phy")) DSET(dpc,backend,BACKEND,str,PHY);
+ else if (!strcmp(str,"tap")) DSET(dpc,backend,BACKEND,str,TAP);
+ else if (!strcmp(str,"qdisk")) DSET(dpc,backend,BACKEND,str,QDISK);
+ else xlu__disk_err(dpc,str,"unknown value for backendtype");
+}
+
#define DEPRECATE(usewhatinstead) /* not currently reported */
%}
@@ -131,6 +139,7 @@ devtype=disk,? { DPC->disk->is_cdrom = 0; }
devtype=[^,]*,? { xlu__disk_err(DPC,yytext,"unknown value for type"); }
access=[^,]*,? { STRIP(','); setaccess(DPC, FROMEQUALS); }
+backendtype=[^,]*? { STRIP(','); setbackendtype(DPC,yytext); }
vdev=[^,]*,? { STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
script=[^,]*,? { STRIP(','); SAVESTRING("script", script, FROMEQUALS); }
--
1.5.6.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|