1*e2edd5f0Skettenis# $OpenBSD: extest.awk,v 1.3 2019/09/11 12:30:34 kettenis Exp $ 21cdc5500Smiod# $NetBSD: extest.awk,v 1.6 2002/02/21 03:59:25 mrg Exp $ 31cdc5500Smiod 41cdc5500SmiodBEGIN { 51cdc5500Smiod first = 1; 61cdc5500Smiod 71cdc5500Smiod printf("#include <sys/types.h>\n") 81cdc5500Smiod printf("#include <sys/extent.h>\n\n") 91cdc5500Smiod printf("#include <stdio.h>\n") 101cdc5500Smiod printf("#include <stdlib.h>\n") 111cdc5500Smiod printf("#include <string.h>\n") 121cdc5500Smiod printf("int main(void) {\n") 131cdc5500Smiod printf("struct extent *ex; int error; long result;\n") 141cdc5500Smiod} 151cdc5500Smiod 161cdc5500SmiodEND { 171cdc5500Smiod printf("exit (0);\n") 181cdc5500Smiod printf("}\n") 191cdc5500Smiod} 201cdc5500Smiod 211cdc5500Smiod$1 == "extent" { 221cdc5500Smiod if (first == 0) { 231cdc5500Smiod printf("extent_destroy(ex);\n") 241cdc5500Smiod } 251cdc5500Smiod 261cdc5500Smiod align = "EX_NOALIGN"; 271cdc5500Smiod boundary = "EX_NOBOUNDARY"; 281cdc5500Smiod 291cdc5500Smiod printf("printf(\"output for %s\\n\");\n", $2) 301cdc5500Smiod 311cdc5500Smiod if ($5 == "") { 321cdc5500Smiod flags = "0"; 331cdc5500Smiod } else { 341cdc5500Smiod flags = $5; 351cdc5500Smiod } 361cdc5500Smiod printf("ex = extent_create(\"%s\", %s, %s, 0, 0, 0, %s);\n", 371cdc5500Smiod $2, $3, $4, flags) 381cdc5500Smiod 391cdc5500Smiod first = 0; 401cdc5500Smiod} 411cdc5500Smiod 421cdc5500Smiod$1 == "align" { 431cdc5500Smiod align = $2; 441cdc5500Smiod} 451cdc5500Smiod 461cdc5500Smiod$1 == "boundary" { 471cdc5500Smiod boundary = $2; 481cdc5500Smiod} 491cdc5500Smiod 501cdc5500Smiod$1 == "alloc_region" { 518fe70e86Skettenis if ($4 == "") { 528fe70e86Skettenis flags = "0"; 538fe70e86Skettenis } else { 548fe70e86Skettenis flags = $4; 558fe70e86Skettenis } 568fe70e86Skettenis printf("error = extent_alloc_region(ex, %s, %s, %s);\n", 578fe70e86Skettenis $2, $3, flags) 581cdc5500Smiod printf("if (error)\n\tprintf(\"error: %%s\\n\", strerror(error));\n") 591cdc5500Smiod} 601cdc5500Smiod 611cdc5500Smiod$1 == "alloc_subregion" { 621cdc5500Smiod printf("error = extent_alloc_subregion(ex, %s, %s, %s,\n", 631cdc5500Smiod $2, $3, $4) 641cdc5500Smiod printf("\t%s, 0, %s, 0, &result);\n", align, boundary) 651cdc5500Smiod printf("if (error)\n\tprintf(\"error: %%s\\n\", strerror(error));\n") 661cdc5500Smiod printf("else\n\tprintf(\"result: 0x%%lx\\n\", result);\n") 671cdc5500Smiod} 681cdc5500Smiod 691cdc5500Smiod$1 == "free" { 70*e2edd5f0Skettenis if ($4 == "") { 71*e2edd5f0Skettenis flags = "0"; 72*e2edd5f0Skettenis } else { 73*e2edd5f0Skettenis flags = $4; 74*e2edd5f0Skettenis } 75*e2edd5f0Skettenis printf("error = extent_free(ex, %s, %s, %s);\n", $2, $3, flags) 761cdc5500Smiod printf("if (error)\n\tprintf(\"error: %%s\\n\", strerror(error));\n") 771cdc5500Smiod} 781cdc5500Smiod 791cdc5500Smiod$1 == "print" { 801cdc5500Smiod printf("extent_print(ex);\n") 811cdc5500Smiod} 82