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/
11.1Sjmcneill/*	$NetBSD: setjmp.c,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $	*/
21.1Sjmcneill
31.1Sjmcneill
41.1Sjmcneill#include <efi.h>
51.1Sjmcneill#include <efilib.h>
61.1.1.2Sjmcneill#include <efisetjmp.h>
71.1Sjmcneill
81.1SjmcneillEFI_STATUS
91.1Sjmcneillefi_main(
101.1Sjmcneill	EFI_HANDLE image_handle,
111.1Sjmcneill	EFI_SYSTEM_TABLE *systab
121.1Sjmcneill)
131.1Sjmcneill{
141.1Sjmcneill	jmp_buf env;
151.1Sjmcneill	int rc;
161.1Sjmcneill
171.1Sjmcneill	InitializeLib(image_handle, systab);
181.1.1.2Sjmcneill	rc = setjmp(env);
191.1Sjmcneill	Print(L"setjmp() = %d\n", rc);
201.1Sjmcneill
211.1Sjmcneill	if (rc == 3) {
221.1Sjmcneill		Print(L"3 worked\n");
231.1.1.2Sjmcneill		longjmp(env, 0);
241.1Sjmcneill		return 0;
251.1Sjmcneill	}
261.1Sjmcneill
271.1Sjmcneill	if (rc == 1) {
281.1Sjmcneill		Print(L"0 got to be one yay\n");
291.1Sjmcneill		return 0;
301.1Sjmcneill	}
311.1Sjmcneill
321.1.1.2Sjmcneill	longjmp(env, 3);
331.1Sjmcneill	return 0;
341.1Sjmcneill}
35

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