xref: /openbsd-src/regress/sys/kern/extent/extest.awk (revision e2edd5f0662c4abe8ab1c203497095eb8f343bcd)
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