Cross Reference: setjmp.c
xref: /src/sys/external/bsd/gnu-efi/dist/apps/setjmp.c
  • Home
  • History
  • AnnotateAnnotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /src/sys/external/bsd/gnu-efi/dist/apps/
setjmp.c revision 1.1
11.1Sjmcneill/*	$NetBSD: setjmp.c,v 1.1 2018/08/16 18:17:47 jmcneill Exp $	*/
21.1Sjmcneill
31.1Sjmcneill
41.1Sjmcneill#include <efi.h>
51.1Sjmcneill#include <efilib.h>
61.1Sjmcneill
71.1SjmcneillEFI_STATUS
81.1Sjmcneillefi_main(
91.1Sjmcneill	EFI_HANDLE image_handle,
101.1Sjmcneill	EFI_SYSTEM_TABLE *systab
111.1Sjmcneill)
121.1Sjmcneill{
131.1Sjmcneill	jmp_buf env;
141.1Sjmcneill	int rc;
151.1Sjmcneill
161.1Sjmcneill	InitializeLib(image_handle, systab);
171.1Sjmcneill	rc = setjmp(&env);
181.1Sjmcneill	Print(L"setjmp() = %d\n", rc);
191.1Sjmcneill
201.1Sjmcneill	if (rc == 3) {
211.1Sjmcneill		Print(L"3 worked\n");
221.1Sjmcneill		longjmp(&env, 0);
231.1Sjmcneill		return 0;
241.1Sjmcneill	}
251.1Sjmcneill
261.1Sjmcneill	if (rc == 1) {
271.1Sjmcneill		Print(L"0 got to be one yay\n");
281.1Sjmcneill		return 0;
291.1Sjmcneill	}
301.1Sjmcneill
311.1Sjmcneill	longjmp(&env, 3);
321.1Sjmcneill	return 0;
331.1Sjmcneill}
34

Indexes created Mon Nov 10 17:20:41 GMT 2025