summaryrefslogtreecommitdiff
path: root/StdLib/Include/setjmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'StdLib/Include/setjmp.h')
-rw-r--r--StdLib/Include/setjmp.h65
1 files changed, 0 insertions, 65 deletions
diff --git a/StdLib/Include/setjmp.h b/StdLib/Include/setjmp.h
deleted file mode 100644
index 33ea161799..0000000000
--- a/StdLib/Include/setjmp.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/** @file
- This file defines the macro setjmp, and declares the function longjmp
- and the type jmp_buf, for bypassing the normal function call and return discipline.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _SETJMP_H
-#define _SETJMP_H
-#include <Library/BaseLib.h>
-#include <sys/EfiCdefs.h>
-
-/** jmp_buf is an array type suitable for holding the information needed to
- restore a calling environment. The environment of a call to the setjmp
- macro consists of information sufficient for a call to the longjmp function
- to return execution to the correct block and invocation of that block, were
- it called recursively. It does not include the state of the floating-point
- status flags, of open files, or of any other component of the abstract
- machine.
-**/
-typedef BASE_LIBRARY_JUMP_BUFFER jmp_buf[1];
-
-/** The setjmp macro saves its calling environment in its jmp_buf argument for
- later use by the longjmp function.
-
- The Standard does not specify whether setjmp is a macro or an identifier
- declared with external linkage. If a macro definition is suppressed in
- order to access an actual function, or a program defines an external
- identifier with the name setjmp, the behavior is undefined by the Standard.
-
- @param[in,out] env A jmp_buf type object into which
- the current environment is stored.
-
- @return If the return is from a direct invocation, the setjmp macro
- returns the value zero. If the return is from a call to the longjmp
- function, the setjmp macro returns a nonzero value based upon the value
- of the second argument to the longjmp function.
-**/
-#define setjmp(env) (INTN)SetJump((env))
-
-/** The longjmp function restores the environment saved by the most recent
- invocation of the setjmp macro in the same invocation of the program with
- the corresponding jmp_buf argument. If there has been no such invocation,
- or if the function containing the invocation of the setjmp macro has
- terminated execution in the interim, or if the invocation of the setjmp
- macro was within the scope of an identifier with variably modified type and
- execution has left that scope in the interim, the behavior is undefined.
-
- @param[in] env The jump buffer containing the environment to be returned to.
- @param[in] val A non-zero value to be returned from setjmp.
-
- @return After longjmp is completed, program execution continues as if the
- corresponding invocation of the setjmp macro had just returned the value
- specified by val. The longjmp function cannot cause the setjmp macro to
- return the value 0; if val is 0, the setjmp macro returns the value 1.
-**/
-extern void longjmp(jmp_buf env, int val);
-
-#endif /* _SETJMP_H */