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