1/*	$NetBSD: setjmp.c,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $	*/
2
3
4#include <efi.h>
5#include <efilib.h>
6#include <efisetjmp.h>
7
8EFI_STATUS
9efi_main(
10	EFI_HANDLE image_handle,
11	EFI_SYSTEM_TABLE *systab
12)
13{
14	jmp_buf env;
15	int rc;
16
17	InitializeLib(image_handle, systab);
18	rc = setjmp(env);
19	Print(L"setjmp() = %d\n", rc);
20
21	if (rc == 3) {
22		Print(L"3 worked\n");
23		longjmp(env, 0);
24		return 0;
25	}
26
27	if (rc == 1) {
28		Print(L"0 got to be one yay\n");
29		return 0;
30	}
31
32	longjmp(env, 3);
33	return 0;
34}
35