Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
tools/libxl/libxlu_disk_l.c | 739 +++++++++++++++++++++++--------------------
tools/libxl/libxlu_disk_l.h | 2 +-
tools/libxl/libxlu_disk_l.l | 9 +
3 files changed, 403 insertions(+), 347 deletions(-)
diff --git a/tools/libxl/libxlu_disk_l.c b/tools/libxl/libxlu_disk_l.c
index 30515e9..8275850 100644
--- a/tools/libxl/libxlu_disk_l.c
+++ b/tools/libxl/libxlu_disk_l.c
@@ -356,8 +356,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 23
-#define YY_END_OF_BUFFER 24
+#define YY_NUM_RULES 24
+#define YY_END_OF_BUFFER 25
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -365,99 +365,104 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_acclist[547] =
+static yyconst flex_int16_t yy_acclist[575] =
{ 0,
- 24, 21, 22, 23, 8193, 21, 22, 23,16385, 8193,
- 21, 23,16385, 21, 22, 23, 22, 23, 21, 22,
- 23, 21, 22, 23, 21, 22, 23, 21, 22, 23,
- 21, 22, 23, 21, 22, 23, 21, 22, 23, 21,
- 22, 23, 21, 22, 23, 21, 22, 23, 21, 22,
- 23, 21, 22, 23, 21, 22, 23, 21, 22, 23,
- 21, 22, 21, 22, 21, 22, 22, 8193, 21, 22,
- 8193, 21, 22,16385, 8193, 21, 22, 8193, 21, 22,
- 8193, 22, 8193, 21, 8193, 21,16385, 8193, 21, 8193,
- 22, 21, 22, 21, 22, 8212, 21, 22,16404, 22,
-
- 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
- 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
- 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
- 21, 22, 21, 22, 21, 21, 8193, 21, 22, 8193,
- 21, 22, 8193, 21, 22, 8193, 22, 8193, 8193, 21,
- 8193, 21, 8212, 21, 8212, 21, 8212, 11, 21, 22,
- 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
- 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
- 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
- 8212, 21, 8212, 21, 8212, 11, 21, 22, 16, 8212,
-
- 21, 22,16404, 21, 22, 21, 22, 21, 22, 21,
- 22, 21, 22, 21, 22, 8212, 21, 22,16404, 19,
- 8212, 21, 22,16404, 21, 22, 8204, 8212, 21, 22,
- 16396,16404, 21, 22, 21, 22, 8207, 8212, 21, 22,
- 16399,16404, 21, 22, 21, 22, 21, 22, 21, 22,
- 16, 8212, 21, 16, 8212, 21, 16, 21, 16, 8212,
- 3, 21, 22, 21, 22, 18, 8212, 21, 22,16404,
- 21, 22, 21, 22, 21, 22, 21, 19, 8212, 21,
- 19, 8212, 21, 19, 21, 19, 8212, 8204, 8212, 21,
- 8204, 8212, 21, 8204, 21, 8204, 8212, 21, 22, 8207,
-
- 8212, 21, 8207, 8212, 21, 8207, 21, 8207, 8212, 21,
- 22, 21, 22, 8, 22, 21, 22, 16, 8212, 21,
- 16, 8212, 21, 16, 8212, 16, 21, 16, 3, 21,
- 22, 21, 22, 18, 8212, 21, 18, 8212, 21, 18,
- 21, 18, 8212, 21, 22, 17, 8212, 21, 22,16404,
- 8205, 8212, 21, 22,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,
- 22, 8207, 8212, 21, 8207, 8212, 21, 8207, 8212, 8207,
- 21, 8207, 21, 22, 21, 22, 8, 11, 8, 7,
-
- 22, 21, 22, 18, 8212, 21, 18, 8212, 21, 18,
- 8212, 18, 21, 18, 2, 22, 17, 8212, 21, 17,
- 8212, 21, 17, 21, 17, 8212, 8205, 8212, 21, 8205,
- 8212, 21, 8205, 21, 8205, 8212, 21, 9, 22, 21,
- 22, 10, 22, 8, 8, 11, 7, 11, 7, 6,
- 22, 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, 22,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
+ 25, 22, 23, 24, 8193, 22, 23, 24,16385, 8193,
+ 22, 24,16385, 22, 23, 24, 23, 24, 22, 23,
+ 24, 22, 23, 24, 22, 23, 24, 22, 23, 24,
+ 22, 23, 24, 22, 23, 24, 22, 23, 24, 22,
+ 23, 24, 22, 23, 24, 22, 23, 24, 22, 23,
+ 24, 22, 23, 24, 22, 23, 24, 22, 23, 24,
+ 22, 23, 24, 22, 23, 22, 23, 22, 23, 23,
+ 8193, 22, 23, 8193, 22, 23,16385, 8193, 22, 23,
+ 8193, 22, 23, 8193, 23, 8193, 22, 8193, 22,16385,
+ 8193, 22, 8193, 23, 22, 23, 22, 23, 8213, 22,
+
+ 23,16405, 23, 22, 23, 22, 23, 22, 23, 22,
+ 23, 22, 23, 22, 23, 22, 23, 22, 23, 22,
+ 23, 22, 23, 22, 23, 22, 23, 22, 23, 22,
+ 23, 22, 23, 22, 23, 22, 23, 22, 23, 22,
+ 22, 8193, 22, 23, 8193, 22, 23, 8193, 22, 23,
+ 8193, 23, 8193, 8193, 22, 8193, 22, 8213, 22, 8213,
+ 22, 8213, 12, 22, 23, 22, 23, 22, 23, 22,
+ 23, 22, 23, 22, 23, 22, 23, 22, 23, 22,
+ 23, 22, 23, 22, 23, 22, 23, 22, 23, 22,
+ 23, 22, 23, 22, 23, 22, 23, 8213, 22, 8213,
+
+ 22, 8213, 12, 22, 23, 17, 8213, 22, 23,16405,
+ 22, 23, 22, 23, 22, 23, 22, 23, 22, 23,
+ 22, 23, 22, 23, 8213, 22, 23,16405, 20, 8213,
+ 22, 23,16405, 22, 23, 8205, 8213, 22, 23,16397,
+ 16405, 22, 23, 22, 23, 8208, 8213, 22, 23,16400,
+ 16405, 22, 23, 22, 23, 22, 23, 22, 23, 17,
+ 8213, 22, 17, 8213, 22, 17, 22, 17, 8213, 22,
+ 23, 3, 22, 23, 22, 23, 19, 8213, 22, 23,
+ 16405, 22, 23, 22, 23, 22, 23, 22, 20, 8213,
+ 22, 20, 8213, 22, 20, 22, 20, 8213, 8205, 8213,
+
+ 22, 8205, 8213, 22, 8205, 22, 8205, 8213, 22, 23,
+ 8208, 8213, 22, 8208, 8213, 22, 8208, 22, 8208, 8213,
+ 22, 23, 22, 23, 9, 23, 22, 23, 17, 8213,
+ 22, 17, 8213, 22, 17, 8213, 17, 22, 17, 22,
+ 23, 3, 22, 23, 22, 23, 19, 8213, 22, 19,
+ 8213, 22, 19, 22, 19, 8213, 22, 23, 18, 8213,
+ 22, 23,16405, 8206, 8213, 22, 23,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, 23, 8208, 8213, 22, 8208, 8213, 22,
+
+ 8208, 8213, 8208, 22, 8208, 22, 23, 22, 23, 9,
+ 12, 9, 7, 23, 22, 23, 22, 23, 19, 8213,
+ 22, 19, 8213, 22, 19, 8213, 19, 22, 19, 2,
+ 23, 18, 8213, 22, 18, 8213, 22, 18, 22, 18,
+ 8213, 8206, 8213, 22, 8206, 8213, 22, 8206, 22, 8206,
+ 8213, 22, 10, 23, 22, 23, 11, 23, 9, 9,
+ 12, 7, 12, 7, 22, 23, 6, 23, 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,
+
+ 23,16405, 11, 12, 11, 7, 7, 12, 22, 23,
+ 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, 23,
+ 6, 6, 12, 6, 6, 15, 8213, 22, 15, 8213,
+ 22, 15, 8213, 15, 22, 15, 22, 23, 6, 6,
+ 8, 23, 6, 5, 6, 8, 12, 4, 6, 5,
+ 6, 8, 4, 6
} ;
-static yyconst flex_int16_t yy_accept[250] =
+static yyconst flex_int16_t yy_accept[264] =
{ 0,
1, 1, 1, 2, 5, 10, 14, 17, 19, 22,
25, 28, 31, 34, 37, 40, 43, 46, 49, 52,
- 55, 58, 61, 63, 65, 67, 68, 71, 75, 78,
- 81, 83, 85, 88, 90, 91, 92, 94, 96, 100,
- 101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
- 121, 123, 125, 127, 129, 131, 133, 135, 136, 137,
- 140, 143, 146, 148, 149, 151, 153, 155, 157, 158,
- 159, 161, 163, 165, 167, 169, 171, 173, 175, 177,
- 179, 181, 183, 185, 187, 189, 191, 193, 195, 196,
- 197, 199, 204, 206, 208, 210, 212, 214, 216, 220,
-
- 225, 227, 233, 235, 237, 243, 245, 247, 249, 251,
- 254, 257, 259, 261, 264, 266, 271, 273, 275, 277,
- 278, 281, 284, 286, 288, 291, 294, 296, 298, 300,
- 303, 306, 308, 310, 312, 314, 316, 318, 321, 324,
- 326, 328, 329, 332, 334, 337, 340, 342, 344, 346,
- 351, 357, 358, 361, 364, 366, 368, 369, 372, 375,
- 377, 379, 380, 382, 385, 388, 390, 392, 393, 395,
- 397, 399, 400, 402, 404, 407, 410, 412, 414, 415,
- 417, 420, 423, 425, 427, 430, 433, 435, 437, 438,
- 440, 442, 444, 445, 447, 449, 450, 452, 454, 455,
-
- 458, 461, 463, 465, 466, 469, 472, 474, 476, 477,
- 478, 480, 481, 486, 488, 489, 490, 492, 494, 495,
- 497, 499, 500, 502, 505, 506, 508, 511, 514, 516,
- 518, 520, 521, 523, 524, 525, 528, 531, 533, 535,
- 536, 537, 538, 539, 541, 543, 545, 547, 547
+ 55, 58, 61, 64, 66, 68, 70, 71, 74, 78,
+ 81, 84, 86, 88, 91, 93, 94, 95, 97, 99,
+ 103, 104, 106, 108, 110, 112, 114, 116, 118, 120,
+ 122, 124, 126, 128, 130, 132, 134, 136, 138, 140,
+ 141, 142, 145, 148, 151, 153, 154, 156, 158, 160,
+ 162, 163, 164, 166, 168, 170, 172, 174, 176, 178,
+ 180, 182, 184, 186, 188, 190, 192, 194, 196, 198,
+ 200, 202, 203, 204, 206, 211, 213, 215, 217, 219,
+
+ 221, 223, 225, 229, 234, 236, 242, 244, 246, 252,
+ 254, 256, 258, 260, 263, 266, 268, 270, 272, 275,
+ 277, 282, 284, 286, 288, 289, 292, 295, 297, 299,
+ 302, 305, 307, 309, 311, 314, 317, 319, 321, 323,
+ 325, 327, 329, 332, 335, 337, 339, 340, 342, 345,
+ 347, 350, 353, 355, 357, 359, 364, 370, 371, 374,
+ 377, 379, 381, 382, 385, 388, 390, 392, 393, 395,
+ 398, 401, 403, 405, 406, 408, 410, 412, 413, 415,
+ 417, 419, 422, 425, 427, 429, 430, 432, 435, 438,
+ 440, 442, 445, 448, 450, 452, 453, 455, 457, 459,
+
+ 460, 462, 464, 465, 467, 469, 471, 472, 475, 478,
+ 480, 482, 483, 486, 489, 491, 493, 494, 495, 497,
+ 498, 503, 505, 506, 507, 509, 511, 513, 514, 516,
+ 518, 519, 521, 524, 525, 527, 530, 533, 535, 537,
+ 539, 541, 542, 544, 545, 546, 549, 552, 554, 556,
+ 557, 559, 560, 561, 563, 564, 566, 568, 570, 572,
+ 573, 575, 575
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -500,226 +505,254 @@ static yyconst flex_int32_t yy_meta[34] =
1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[306] =
+static yyconst flex_int16_t yy_base[322] =
{ 0,
- 0, 0, 590, 30, 38, 41, 44, 47, 56, 74,
- 576, 574, 564, 45, 38, 575, 568, 572, 573, 570,
- 571, 54, 76, 591, 576, 591, 83, 91, 0, 93,
- 0, 100, 103, 0, 0, 106, 115, 0, 124, 0,
- 567, 554, 550, 545, 564, 553, 546, 558, 559, 557,
- 536, 544, 535, 539, 10, 551, 551, 559, 591, 127,
- 0, 134, 0, 0, 136, 0, 138, 0, 0, 558,
- 547, 552, 535, 529, 543, 534, 533, 526, 545, 544,
- 519, 542, 531, 141, 532, 516, 147, 0, 0, 591,
- 518, 156, 523, 511, 533, 527, 495, 495, 496, 165,
-
- 65, 174, 460, 469, 183, 447, 439, 440, 417, 186,
- 0, 190, 0, 429, 400, 199, 388, 401, 393, 84,
- 202, 0, 206, 0, 209, 0, 213, 0, 360, 216,
- 0, 220, 0, 337, 329, 341, 306, 223, 0, 0,
- 0, 0, 591, 300, 227, 0, 230, 0, 304, 239,
- 248, 97, 251, 0, 0, 0, 0, 255, 0, 0,
- 0, 0, 299, 258, 0, 0, 0, 0, 271, 275,
- 273, 591, 259, 237, 262, 0, 0, 0, 0, 241,
- 265, 0, 269, 0, 272, 0, 276, 0, 77, 234,
- 229, 117, 231, 591, 193, 591, 140, 192, 591, 279,
-
- 0, 0, 0, 0, 283, 0, 0, 0, 0, 285,
- 177, 591, 293, 168, 0, 167, 591, 159, 591, 85,
- 210, 151, 591, 296, 130, 591, 300, 0, 303, 0,
- 0, 109, 591, 194, 118, 307, 0, 0, 0, 0,
- 266, 50, 158, 45, 32, 591, 591, 591, 316, 320,
- 324, 328, 332, 336, 339, 343, 347, 351, 355, 359,
- 363, 367, 371, 375, 379, 383, 387, 391, 395, 399,
- 403, 407, 411, 415, 419, 423, 427, 431, 435, 439,
- 443, 447, 451, 455, 459, 463, 467, 471, 475, 479,
- 483, 487, 491, 495, 499, 503, 507, 511, 515, 519,
-
- 523, 527, 531, 535, 539
+ 0, 0, 605, 30, 38, 41, 44, 47, 56, 74,
+ 53, 57, 26, 62, 591, 63, 59, 71, 25, 587,
+ 80, 575, 83, 90, 704, 573, 704, 98, 106, 0,
+ 108, 0, 115, 118, 0, 0, 121, 130, 559, 139,
+ 0, 85, 79, 116, 125, 106, 94, 135, 126, 136,
+ 139, 144, 52, 145, 148, 149, 150, 151, 153, 557,
+ 704, 164, 0, 175, 0, 0, 178, 0, 182, 0,
+ 0, 549, 160, 154, 103, 173, 161, 178, 179, 183,
+ 184, 188, 192, 185, 196, 189, 201, 200, 193, 216,
+ 0, 0, 704, 203, 231, 208, 205, 211, 218, 531,
+
+ 213, 219, 504, 244, 247, 257, 231, 259, 269, 220,
+ 254, 241, 253, 276, 0, 279, 0, 266, 280, 276,
+ 301, 265, 283, 287, 288, 304, 0, 308, 0, 315,
+ 0, 317, 0, 304, 319, 0, 326, 0, 288, 315,
+ 506, 290, 328, 0, 0, 0, 0, 326, 704, 324,
+ 337, 0, 339, 0, 340, 350, 359, 361, 366, 0,
+ 0, 0, 0, 370, 0, 0, 0, 0, 347, 373,
+ 0, 0, 0, 0, 361, 374, 493, 704, 463, 337,
+ 376, 384, 0, 0, 0, 0, 462, 386, 0, 388,
+ 0, 395, 0, 397, 0, 283, 461, 370, 399, 460,
+
+ 704, 459, 704, 384, 401, 458, 704, 406, 0, 0,
+ 0, 0, 415, 0, 0, 0, 0, 403, 457, 704,
+ 424, 456, 0, 455, 704, 398, 454, 704, 408, 412,
+ 453, 704, 431, 452, 704, 433, 0, 435, 0, 0,
+ 431, 451, 704, 416, 418, 444, 0, 0, 0, 0,
+ 440, 427, 448, 0, 323, 450, 392, 238, 704, 50,
+ 704, 704, 468, 472, 476, 480, 484, 488, 491, 495,
+ 499, 503, 507, 511, 515, 519, 523, 527, 531, 535,
+ 539, 543, 547, 551, 555, 559, 563, 567, 571, 575,
+ 579, 583, 587, 591, 595, 599, 603, 607, 611, 615,
+
+ 619, 623, 627, 631, 635, 639, 643, 647, 651, 655,
+ 659, 663, 667, 671, 675, 679, 683, 687, 691, 695,
+ 699
} ;
-static yyconst flex_int16_t yy_def[306] =
+static yyconst flex_int16_t yy_def[322] =
{ 0,
- 248, 1, 248, 249, 250, 251, 252, 252, 253, 253,
+ 262, 1, 262, 263, 264, 265, 266, 266, 267, 267,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 249, 248, 254, 248, 255, 250, 256, 257,
- 256, 257, 251, 256, 256, 252, 258, 10, 254, 259,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 254, 248, 255,
- 256, 257, 256, 256, 257, 256, 260, 261, 261, 248,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 260, 261, 261, 248,
- 10, 262, 10, 10, 10, 10, 10, 10, 39, 263,
-
- 10, 264, 10, 10, 265, 10, 10, 10, 10, 266,
- 267, 262, 267, 10, 10, 268, 10, 10, 10, 254,
- 269, 270, 263, 270, 271, 272, 264, 272, 10, 273,
- 274, 265, 274, 10, 10, 275, 10, 266, 267, 267,
- 276, 276, 248, 10, 277, 278, 268, 278, 10, 279,
- 280, 254, 269, 270, 270, 281, 281, 271, 272, 272,
- 282, 282, 10, 273, 274, 274, 283, 283, 10, 10,
- 284, 248, 285, 10, 277, 278, 278, 286, 286, 287,
- 288, 289, 279, 289, 290, 291, 280, 291, 254, 292,
- 10, 293, 284, 248, 294, 248, 295, 296, 248, 288,
-
- 289, 289, 297, 297, 290, 291, 291, 298, 298, 254,
- 299, 248, 300, 301, 301, 294, 248, 302, 248, 302,
- 302, 296, 248, 280, 299, 248, 303, 304, 300, 304,
- 301, 302, 248, 302, 302, 303, 304, 304, 305, 305,
- 302, 302, 302, 302, 302, 248, 248, 0, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-
- 248, 248, 248, 248, 248
+ 10, 10, 10, 263, 262, 268, 262, 269, 264, 270,
+ 271, 270, 271, 265, 270, 270, 266, 272, 10, 268,
+ 273, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 268,
+ 262, 269, 270, 271, 270, 270, 271, 270, 274, 275,
+ 275, 262, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 274,
+ 275, 275, 262, 10, 276, 10, 10, 10, 10, 10,
+
+ 10, 10, 40, 277, 10, 278, 10, 10, 279, 10,
+ 10, 10, 10, 280, 281, 276, 281, 10, 10, 10,
+ 282, 10, 10, 10, 268, 283, 284, 277, 284, 285,
+ 286, 278, 286, 10, 287, 288, 279, 288, 10, 10,
+ 289, 10, 280, 281, 281, 290, 290, 10, 262, 10,
+ 291, 292, 282, 292, 10, 293, 294, 268, 283, 284,
+ 284, 295, 295, 285, 286, 286, 296, 296, 10, 287,
+ 288, 288, 297, 297, 10, 10, 298, 262, 299, 10,
+ 10, 291, 292, 292, 300, 300, 301, 302, 303, 293,
+ 303, 304, 305, 294, 305, 268, 306, 10, 307, 298,
+
+ 262, 308, 262, 10, 309, 310, 262, 302, 303, 303,
+ 311, 311, 304, 305, 305, 312, 312, 268, 313, 262,
+ 314, 315, 315, 308, 262, 10, 316, 262, 316, 316,
+ 310, 262, 294, 313, 262, 317, 318, 314, 318, 315,
+ 10, 316, 262, 316, 316, 317, 318, 318, 319, 319,
+ 10, 316, 316, 320, 316, 316, 321, 316, 262, 321,
+ 262, 0, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262
} ;
-static yyconst flex_int16_t yy_nxt[625] =
+static yyconst flex_int16_t yy_nxt[738] =
{ 0,
4, 5, 6, 7, 4, 4, 4, 4, 8, 9,
- 10, 11, 12, 13, 14, 10, 10, 15, 10, 10,
- 10, 10, 16, 10, 17, 18, 19, 20, 21, 10,
- 22, 10, 10, 24, 84, 247, 85, 25, 26, 28,
- 28, 29, 33, 33, 34, 30, 31, 26, 246, 35,
- 26, 26, 26, 219, 26, 26, 23, 23, 23, 24,
- 37, 48, 46, 39, 40, 49, 56, 41, 47, 244,
- 57, 82, 102, 42, 23, 23, 23, 24, 37, 24,
- 59, 39, 40, 25, 26, 23, 61, 59, 233, 210,
- 62, 63, 28, 28, 29, 58, 66, 234, 30, 31,
-
- 59, 64, 58, 66, 33, 33, 34, 189, 64, 26,
- 152, 35, 219, 26, 26, 23, 23, 23, 24, 70,
- 215, 219, 25, 40, 67, 67, 67, 68, 67, 23,
- 61, 67, 69, 212, 62, 63, 58, 66, 58, 66,
- 58, 88, 64, 219, 64, 242, 89, 104, 105, 58,
- 88, 220, 221, 106, 199, 89, 110, 110, 67, 111,
- 110, 219, 233, 110, 113, 121, 121, 67, 122, 121,
- 196, 231, 121, 124, 125, 125, 67, 126, 125, 245,
- 226, 125, 128, 130, 130, 67, 131, 130, 58, 139,
- 130, 133, 58, 141, 140, 223, 217, 219, 142, 145,
-
- 145, 67, 146, 145, 58, 154, 145, 148, 58, 156,
- 155, 58, 159, 233, 157, 58, 161, 160, 58, 165,
- 241, 162, 58, 167, 166, 58, 139, 235, 168, 58,
- 176, 140, 58, 178, 172, 177, 213, 212, 179, 181,
- 181, 67, 182, 181, 199, 197, 181, 184, 185, 185,
- 67, 186, 185, 58, 154, 185, 188, 58, 159, 155,
- 58, 165, 196, 160, 58, 176, 166, 58, 201, 219,
- 177, 58, 203, 202, 58, 206, 194, 204, 58, 208,
- 207, 58, 201, 192, 209, 58, 206, 202, 59, 243,
- 191, 207, 224, 227, 227, 67, 228, 227, 58, 208,
-
- 227, 230, 58, 237, 209, 58, 239, 190, 238, 58,
- 237, 240, 180, 174, 173, 238, 23, 23, 23, 23,
- 27, 27, 27, 27, 32, 32, 32, 32, 36, 36,
- 36, 36, 38, 38, 38, 38, 58, 58, 58, 60,
- 60, 60, 60, 64, 172, 64, 64, 65, 65, 65,
- 65, 37, 37, 37, 37, 70, 70, 170, 70, 87,
- 87, 87, 87, 89, 169, 89, 89, 112, 112, 112,
- 112, 123, 123, 123, 123, 127, 127, 127, 127, 132,
- 132, 132, 132, 138, 138, 138, 138, 140, 163, 140,
- 140, 147, 147, 147, 147, 153, 153, 153, 153, 155,
-
- 151, 155, 155, 158, 158, 158, 158, 160, 150, 160,
- 160, 164, 164, 164, 164, 166, 149, 166, 166, 171,
- 171, 171, 171, 142, 144, 142, 142, 175, 175, 175,
- 175, 177, 143, 177, 177, 183, 183, 183, 183, 187,
- 187, 187, 187, 157, 137, 157, 157, 162, 136, 162,
- 162, 168, 135, 168, 168, 193, 193, 193, 193, 195,
- 195, 195, 195, 179, 134, 179, 179, 198, 198, 198,
- 198, 200, 200, 200, 200, 202, 105, 202, 202, 205,
- 205, 205, 205, 207, 129, 207, 207, 211, 211, 211,
- 211, 214, 214, 214, 214, 216, 216, 216, 216, 218,
-
- 218, 218, 218, 222, 222, 222, 222, 204, 120, 204,
- 204, 209, 119, 209, 209, 225, 225, 225, 225, 229,
- 229, 229, 229, 215, 118, 215, 215, 232, 232, 232,
- 232, 236, 236, 236, 236, 238, 117, 238, 238, 240,
- 116, 240, 240, 115, 114, 109, 108, 107, 103, 102,
- 101, 100, 99, 98, 97, 96, 95, 94, 93, 92,
- 91, 90, 59, 82, 86, 83, 82, 81, 80, 79,
- 78, 77, 76, 75, 50, 74, 73, 72, 71, 59,
- 55, 54, 53, 52, 51, 50, 45, 44, 43, 248,
- 3, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248
+ 10, 11, 12, 13, 14, 15, 15, 16, 15, 15,
+ 15, 15, 17, 15, 18, 19, 20, 21, 22, 15,
+ 23, 15, 15, 25, 39, 39, 54, 26, 27, 29,
+ 29, 30, 34, 34, 35, 31, 32, 27, 47, 36,
+ 27, 27, 27, 262, 27, 27, 24, 24, 24, 25,
+ 38, 39, 39, 40, 41, 45, 39, 42, 39, 52,
+ 46, 39, 39, 43, 24, 24, 24, 25, 38, 48,
+ 39, 40, 41, 44, 83, 49, 50, 53, 39, 39,
+ 51, 56, 39, 25, 39, 58, 73, 26, 27, 59,
+
+ 24, 63, 74, 39, 52, 64, 65, 29, 29, 30,
+ 60, 68, 39, 31, 32, 39, 66, 60, 68, 34,
+ 34, 35, 96, 66, 27, 39, 36, 75, 27, 27,
+ 24, 24, 24, 25, 39, 39, 77, 26, 41, 69,
+ 69, 69, 70, 69, 39, 39, 69, 71, 39, 80,
+ 81, 76, 79, 39, 39, 78, 82, 39, 39, 39,
+ 39, 95, 39, 39, 89, 85, 24, 63, 84, 39,
+ 39, 64, 65, 94, 87, 86, 88, 60, 68, 85,
+ 60, 68, 39, 66, 60, 91, 66, 39, 39, 98,
+ 92, 99, 39, 39, 39, 103, 97, 39, 39, 104,
+
+ 100, 39, 39, 106, 101, 39, 107, 108, 109, 39,
+ 39, 102, 39, 110, 39, 111, 105, 39, 60, 91,
+ 39, 118, 39, 112, 92, 121, 119, 39, 39, 39,
+ 113, 114, 114, 69, 115, 114, 124, 139, 114, 117,
+ 39, 261, 123, 120, 126, 126, 69, 127, 126, 141,
+ 39, 126, 129, 85, 106, 134, 39, 130, 130, 69,
+ 131, 130, 39, 39, 130, 133, 109, 140, 39, 135,
+ 135, 69, 136, 135, 39, 39, 135, 138, 60, 144,
+ 142, 60, 146, 149, 145, 39, 61, 147, 148, 39,
+ 156, 61, 39, 155, 157, 218, 39, 39, 179, 39,
+
+ 150, 151, 151, 69, 152, 151, 60, 160, 151, 154,
+ 60, 162, 161, 39, 158, 175, 163, 60, 165, 60,
+ 167, 60, 171, 166, 39, 168, 228, 172, 60, 173,
+ 60, 144, 169, 39, 174, 39, 145, 181, 180, 60,
+ 183, 60, 185, 176, 258, 184, 39, 186, 187, 39,
+ 188, 188, 69, 189, 188, 197, 39, 188, 191, 192,
+ 192, 69, 193, 192, 61, 204, 192, 195, 60, 160,
+ 39, 196, 60, 165, 161, 60, 171, 221, 166, 39,
+ 198, 172, 199, 39, 205, 39, 60, 183, 60, 209,
+ 60, 211, 184, 39, 210, 93, 212, 60, 214, 60,
+
+ 216, 72, 223, 215, 228, 217, 61, 39, 60, 209,
+ 233, 243, 229, 230, 210, 243, 226, 60, 214, 228,
+ 244, 228, 241, 215, 236, 236, 69, 237, 236, 245,
+ 228, 236, 239, 60, 216, 60, 247, 60, 249, 217,
+ 39, 248, 252, 250, 251, 253, 60, 247, 254, 39,
+ 255, 228, 248, 259, 228, 220, 207, 243, 203, 240,
+ 235, 232, 225, 178, 220, 207, 203, 256, 24, 24,
+ 24, 24, 28, 28, 28, 28, 33, 33, 33, 33,
+ 37, 37, 37, 37, 39, 39, 39, 39, 60, 60,
+ 60, 62, 62, 62, 62, 66, 201, 66, 66, 67,
+
+ 67, 67, 67, 38, 38, 38, 38, 72, 72, 178,
+ 72, 90, 90, 90, 90, 92, 125, 92, 92, 116,
+ 116, 116, 116, 128, 128, 128, 128, 132, 132, 132,
+ 132, 137, 137, 137, 137, 143, 143, 143, 143, 145,
+ 122, 145, 145, 153, 153, 153, 153, 159, 159, 159,
+ 159, 161, 93, 161, 161, 164, 164, 164, 164, 166,
+ 61, 166, 166, 170, 170, 170, 170, 172, 39, 172,
+ 172, 177, 177, 177, 177, 147, 61, 147, 147, 182,
+ 182, 182, 182, 184, 57, 184, 184, 190, 190, 190,
+ 190, 194, 194, 194, 194, 163, 55, 163, 163, 168,
+
+ 39, 168, 168, 174, 262, 174, 174, 200, 200, 200,
+ 200, 202, 202, 202, 202, 186, 262, 186, 186, 206,
+ 206, 206, 206, 208, 208, 208, 208, 210, 262, 210,
+ 210, 213, 213, 213, 213, 215, 262, 215, 215, 219,
+ 219, 219, 219, 222, 222, 222, 222, 224, 224, 224,
+ 224, 227, 227, 227, 227, 231, 231, 231, 231, 212,
+ 262, 212, 212, 217, 262, 217, 217, 234, 234, 234,
+ 234, 238, 238, 238, 238, 223, 262, 223, 223, 242,
+ 242, 242, 242, 246, 246, 246, 246, 248, 262, 248,
+ 248, 250, 262, 250, 250, 257, 257, 262, 257, 260,
+
+ 260, 260, 260, 3, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262
} ;
-static yyconst flex_int16_t yy_chk[625] =
+static yyconst flex_int16_t yy_chk[738] =
{ 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, 4, 55, 245, 55, 4, 4, 5,
- 5, 5, 6, 6, 6, 5, 5, 7, 244, 6,
- 8, 7, 7, 242, 8, 8, 9, 9, 9, 9,
- 9, 15, 14, 9, 9, 15, 22, 9, 14, 242,
- 22, 101, 101, 9, 10, 10, 10, 10, 10, 23,
- 189, 10, 10, 23, 23, 27, 27, 120, 220, 189,
- 27, 27, 28, 28, 28, 30, 30, 220, 28, 28,
-
- 152, 30, 32, 32, 33, 33, 33, 152, 32, 36,
- 120, 33, 232, 36, 36, 37, 37, 37, 37, 192,
- 192, 235, 37, 37, 39, 39, 39, 39, 39, 60,
- 60, 39, 39, 225, 60, 60, 62, 62, 65, 65,
- 67, 67, 62, 197, 65, 235, 67, 84, 84, 87,
- 87, 197, 197, 84, 222, 87, 92, 92, 92, 92,
- 92, 243, 218, 92, 92, 100, 100, 100, 100, 100,
- 216, 214, 100, 100, 102, 102, 102, 102, 102, 243,
- 211, 102, 102, 105, 105, 105, 105, 105, 110, 110,
- 105, 105, 112, 112, 110, 198, 195, 234, 112, 116,
-
- 116, 116, 116, 116, 121, 121, 116, 116, 123, 123,
- 121, 125, 125, 221, 123, 127, 127, 125, 130, 130,
- 234, 127, 132, 132, 130, 138, 138, 221, 132, 145,
- 145, 138, 147, 147, 193, 145, 191, 190, 147, 150,
- 150, 150, 150, 150, 180, 174, 150, 150, 151, 151,
- 151, 151, 151, 153, 153, 151, 151, 158, 158, 153,
- 164, 164, 173, 158, 175, 175, 164, 181, 181, 241,
- 175, 183, 183, 181, 185, 185, 171, 183, 187, 187,
- 185, 200, 200, 170, 187, 205, 205, 200, 210, 241,
- 169, 205, 210, 213, 213, 213, 213, 213, 224, 224,
-
- 213, 213, 227, 227, 224, 229, 229, 163, 227, 236,
- 236, 229, 149, 144, 137, 236, 249, 249, 249, 249,
- 250, 250, 250, 250, 251, 251, 251, 251, 252, 252,
- 252, 252, 253, 253, 253, 253, 254, 254, 254, 255,
- 255, 255, 255, 256, 136, 256, 256, 257, 257, 257,
- 257, 258, 258, 258, 258, 259, 259, 135, 259, 260,
- 260, 260, 260, 261, 134, 261, 261, 262, 262, 262,
- 262, 263, 263, 263, 263, 264, 264, 264, 264, 265,
- 265, 265, 265, 266, 266, 266, 266, 267, 129, 267,
- 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
-
- 119, 270, 270, 271, 271, 271, 271, 272, 118, 272,
- 272, 273, 273, 273, 273, 274, 117, 274, 274, 275,
- 275, 275, 275, 276, 115, 276, 276, 277, 277, 277,
- 277, 278, 114, 278, 278, 279, 279, 279, 279, 280,
- 280, 280, 280, 281, 109, 281, 281, 282, 108, 282,
- 282, 283, 107, 283, 283, 284, 284, 284, 284, 285,
- 285, 285, 285, 286, 106, 286, 286, 287, 287, 287,
- 287, 288, 288, 288, 288, 289, 104, 289, 289, 290,
- 290, 290, 290, 291, 103, 291, 291, 292, 292, 292,
- 292, 293, 293, 293, 293, 294, 294, 294, 294, 295,
-
- 295, 295, 295, 296, 296, 296, 296, 297, 99, 297,
- 297, 298, 98, 298, 298, 299, 299, 299, 299, 300,
- 300, 300, 300, 301, 97, 301, 301, 302, 302, 302,
- 302, 303, 303, 303, 303, 304, 96, 304, 304, 305,
- 95, 305, 305, 94, 93, 91, 86, 85, 83, 82,
- 81, 80, 79, 78, 77, 76, 75, 74, 73, 72,
- 71, 70, 58, 57, 56, 54, 53, 52, 51, 50,
- 49, 48, 47, 46, 45, 44, 43, 42, 41, 25,
- 21, 20, 19, 18, 17, 16, 13, 12, 11, 3,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248
+ 1, 1, 1, 4, 19, 13, 19, 4, 4, 5,
+ 5, 5, 6, 6, 6, 5, 5, 7, 13, 6,
+ 8, 7, 7, 260, 8, 8, 9, 9, 9, 9,
+ 9, 53, 11, 9, 9, 11, 12, 9, 17, 17,
+ 12, 14, 16, 9, 10, 10, 10, 10, 10, 14,
+ 18, 10, 10, 10, 53, 14, 16, 18, 43, 21,
+ 16, 21, 23, 24, 42, 23, 42, 24, 24, 23,
+
+ 28, 28, 43, 47, 47, 28, 28, 29, 29, 29,
+ 31, 31, 75, 29, 29, 46, 31, 33, 33, 34,
+ 34, 34, 75, 33, 37, 44, 34, 44, 37, 37,
+ 38, 38, 38, 38, 45, 49, 46, 38, 38, 40,
+ 40, 40, 40, 40, 48, 50, 40, 40, 51, 50,
+ 51, 45, 49, 52, 54, 48, 52, 55, 56, 57,
+ 58, 74, 59, 74, 58, 59, 62, 62, 54, 73,
+ 77, 62, 62, 73, 57, 56, 57, 64, 64, 55,
+ 67, 67, 76, 64, 69, 69, 67, 78, 79, 77,
+ 69, 78, 80, 81, 84, 82, 76, 82, 86, 83,
+
+ 79, 83, 89, 85, 80, 85, 86, 87, 87, 88,
+ 87, 81, 94, 87, 97, 88, 84, 96, 90, 90,
+ 98, 96, 101, 89, 90, 99, 97, 99, 102, 110,
+ 94, 95, 95, 95, 95, 95, 102, 110, 95, 95,
+ 107, 258, 101, 98, 104, 104, 104, 104, 104, 112,
+ 112, 104, 104, 105, 105, 107, 105, 106, 106, 106,
+ 106, 106, 113, 111, 106, 106, 108, 111, 108, 109,
+ 109, 109, 109, 109, 122, 118, 109, 109, 114, 114,
+ 113, 116, 116, 119, 114, 120, 196, 116, 118, 119,
+ 123, 125, 123, 122, 124, 196, 124, 139, 142, 142,
+
+ 120, 121, 121, 121, 121, 121, 126, 126, 121, 121,
+ 128, 128, 126, 134, 125, 139, 128, 130, 130, 132,
+ 132, 135, 135, 130, 140, 132, 255, 135, 137, 137,
+ 143, 143, 134, 150, 137, 148, 143, 150, 148, 151,
+ 151, 153, 153, 140, 255, 151, 180, 153, 155, 155,
+ 156, 156, 156, 156, 156, 169, 169, 156, 156, 157,
+ 157, 157, 157, 157, 158, 180, 157, 157, 159, 159,
+ 175, 158, 164, 164, 159, 170, 170, 198, 164, 198,
+ 175, 170, 176, 176, 181, 181, 182, 182, 188, 188,
+ 190, 190, 182, 204, 188, 257, 190, 192, 192, 194,
+
+ 194, 199, 199, 192, 205, 194, 218, 226, 208, 208,
+ 218, 229, 205, 205, 208, 230, 204, 213, 213, 244,
+ 229, 245, 226, 213, 221, 221, 221, 221, 221, 230,
+ 252, 221, 221, 233, 233, 236, 236, 238, 238, 233,
+ 241, 236, 244, 238, 241, 245, 246, 246, 251, 251,
+ 252, 253, 246, 256, 242, 234, 231, 227, 224, 222,
+ 219, 206, 202, 200, 197, 187, 179, 253, 263, 263,
+ 263, 263, 264, 264, 264, 264, 265, 265, 265, 265,
+ 266, 266, 266, 266, 267, 267, 267, 267, 268, 268,
+ 268, 269, 269, 269, 269, 270, 177, 270, 270, 271,
+
+ 271, 271, 271, 272, 272, 272, 272, 273, 273, 141,
+ 273, 274, 274, 274, 274, 275, 103, 275, 275, 276,
+ 276, 276, 276, 277, 277, 277, 277, 278, 278, 278,
+ 278, 279, 279, 279, 279, 280, 280, 280, 280, 281,
+ 100, 281, 281, 282, 282, 282, 282, 283, 283, 283,
+ 283, 284, 72, 284, 284, 285, 285, 285, 285, 286,
+ 60, 286, 286, 287, 287, 287, 287, 288, 39, 288,
+ 288, 289, 289, 289, 289, 290, 26, 290, 290, 291,
+ 291, 291, 291, 292, 22, 292, 292, 293, 293, 293,
+ 293, 294, 294, 294, 294, 295, 20, 295, 295, 296,
+
+ 15, 296, 296, 297, 3, 297, 297, 298, 298, 298,
+ 298, 299, 299, 299, 299, 300, 0, 300, 300, 301,
+ 301, 301, 301, 302, 302, 302, 302, 303, 0, 303,
+ 303, 304, 304, 304, 304, 305, 0, 305, 305, 306,
+ 306, 306, 306, 307, 307, 307, 307, 308, 308, 308,
+ 308, 309, 309, 309, 309, 310, 310, 310, 310, 311,
+ 0, 311, 311, 312, 0, 312, 312, 313, 313, 313,
+ 313, 314, 314, 314, 314, 315, 0, 315, 315, 316,
+ 316, 316, 316, 317, 317, 317, 317, 318, 0, 318,
+ 318, 319, 0, 319, 319, 320, 320, 0, 320, 321,
+
+ 321, 321, 321, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262
} ;
#define YY_TRAILING_MASK 0x2000
@@ -839,9 +872,17 @@ static void setformat(DiskParseContext *dpc, const char
*str) {
else xlu__disk_err(dpc,str,"unknown value for format");
}
+/* Sets ->backend based on the string value. This ought to be an enum. */
+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 845 "libxlu_disk_l.c"
+#line 886 "libxlu_disk_l.c"
#define INITIAL 0
@@ -1076,12 +1117,12 @@ YY_DECL
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 116 "libxlu_disk_l.l"
+#line 124 "libxlu_disk_l.l"
/*----- the scanner rules which do the parsing -----*/
-#line 1085 "libxlu_disk_l.c"
+#line 1126 "libxlu_disk_l.c"
if ( !yyg->yy_init )
{
@@ -1139,14 +1180,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 >= 249 )
+ if ( yy_current_state >= 263 )
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 != 248 );
+ while ( yy_current_state != 262 );
yy_find_action:
yy_current_state = *--yyg->yy_state_ptr;
@@ -1196,148 +1237,154 @@ do_action: /* This label is used only to access
EOF actions. */
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 120 "libxlu_disk_l.l"
+#line 128 "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 124 "libxlu_disk_l.l"
+#line 132 "libxlu_disk_l.l"
{ STRIP(','); setformat(DPC, FROMEQUALS); }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 126 "libxlu_disk_l.l"
+#line 134 "libxlu_disk_l.l"
{ DPC->disk->is_cdrom = 1; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 127 "libxlu_disk_l.l"
+#line 135 "libxlu_disk_l.l"
{ DPC->disk->is_cdrom = 1; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 128 "libxlu_disk_l.l"
+#line 136 "libxlu_disk_l.l"
{ DPC->disk->is_cdrom = 0; }
YY_BREAK
case 6:
/* rule 6 can match eol */
YY_RULE_SETUP
-#line 129 "libxlu_disk_l.l"
+#line 137 "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 131 "libxlu_disk_l.l"
+#line 139 "libxlu_disk_l.l"
{ STRIP(','); setaccess(DPC,yytext); }
YY_BREAK
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 133 "libxlu_disk_l.l"
-{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
+#line 140 "libxlu_disk_l.l"
+{ STRIP(','); setbackendtype(DPC,yytext); }
YY_BREAK
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
-#line 134 "libxlu_disk_l.l"
+#line 142 "libxlu_disk_l.l"
+{ STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); }
+ YY_BREAK
+case 10:
+/* rule 10 can match eol */
+YY_RULE_SETUP
+#line 143 "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 138 "libxlu_disk_l.l"
+#line 147 "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 142 "libxlu_disk_l.l"
+#line 151 "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 149 "libxlu_disk_l.l"
+#line 158 "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 155 "libxlu_disk_l.l"
+#line 164 "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 161 "libxlu_disk_l.l"
+#line 170 "libxlu_disk_l.l"
{ DPC->had_depr_prefix=1; DEPRECATE(0); }
YY_BREAK
-case 15:
+case 16:
YY_RULE_SETUP
-#line 162 "libxlu_disk_l.l"
+#line 171 "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 163 "libxlu_disk_l.l"
+#line 172 "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 164 "libxlu_disk_l.l"
+#line 173 "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 165 "libxlu_disk_l.l"
+#line 174 "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 166 "libxlu_disk_l.l"
+#line 175 "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 168 "libxlu_disk_l.l"
+#line 177 "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 175 "libxlu_disk_l.l"
+#line 184 "libxlu_disk_l.l"
{
char *colon;
STRIP(',');
@@ -1372,18 +1419,18 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 22:
-/* rule 22 can match eol */
+case 23:
+/* rule 23 can match eol */
YY_RULE_SETUP
-#line 209 "libxlu_disk_l.l"
+#line 218 "libxlu_disk_l.l"
{ xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0; }
YY_BREAK
-case 23:
+case 24:
YY_RULE_SETUP
-#line 210 "libxlu_disk_l.l"
+#line 219 "libxlu_disk_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 1387 "libxlu_disk_l.c"
+#line 1434 "libxlu_disk_l.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1646,7 +1693,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 >= 249 )
+ if ( yy_current_state >= 263 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned
int) yy_c];
@@ -1670,11 +1717,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 >= 249 )
+ if ( yy_current_state >= 263 )
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 == 248);
+ yy_is_jam = (yy_current_state == 262);
if ( ! yy_is_jam )
*yyg->yy_state_ptr++ = yy_current_state;
@@ -2474,4 +2521,4 @@ void xlu__disk_yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 210 "libxlu_disk_l.l"
+#line 219 "libxlu_disk_l.l"
diff --git a/tools/libxl/libxlu_disk_l.h b/tools/libxl/libxlu_disk_l.h
index bc3d9ff..45529ce 100644
--- a/tools/libxl/libxlu_disk_l.h
+++ b/tools/libxl/libxlu_disk_l.h
@@ -339,7 +339,7 @@ extern int xlu__disk_yylex (yyscan_t yyscanner);
#undef YY_DECL
#endif
-#line 210 "libxlu_disk_l.l"
+#line 219 "libxlu_disk_l.l"
#line 345 "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 8e511ea..2738377 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 based on the string value. This ought to be an enum. */
+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.7.2.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|