]> git.proxmox.com Git - mirror_edk2.git/blobdiff - StdLib/Include/stdarg.h
edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
[mirror_edk2.git] / StdLib / Include / stdarg.h
diff --git a/StdLib/Include/stdarg.h b/StdLib/Include/stdarg.h
deleted file mode 100644 (file)
index 9a30e28..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/** @file\r
-    This header, <stdarg.h>, declares type va_list and defines macros: va_start, va_arg, va_end;\r
-    for advancing through a list of arguments whose number and types are not known to the\r
-    called function when it is translated.\r
-\r
-    A function may be called with a variable number of arguments of varying types.\r
-    The rightmost argument plays a special role in the access mechanism, and will\r
-    be designated paramN in this and subsequent descriptions.\r
-\r
-    The type va_list is a type suitable for holding information needed by the\r
-    macros va_start, va_arg, and va_end.  If access to the varying arguments\r
-    is desired, the called function shall declare an object (referred to as ap\r
-    in these descriptions) having type va_list.  The object ap may be passed as\r
-    an argument to another function; if the receiving function invokes the va_arg macro\r
-    with parameter ap, the value of ap in the calling function becomes indeterminate\r
-    and must be passed to the va_end macro prior to any further reference to ap.\r
-\r
-    The va_start and va_arg macros must be implemented as macros, not as actual\r
-    functions.  The va_start and va_end macros must be invoked in the\r
-    function accepting a varying number of arguments, if access to the varying\r
-    arguments is desired.\r
-\r
-    Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>\r
-    This program and the accompanying materials are licensed and made available under\r
-    the terms and conditions of the BSD License that accompanies this distribution.\r
-    The full text of the license may be found at\r
-    http://opensource.org/licenses/bsd-license.\r
-\r
-    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-**/\r
-#ifndef _STDARG_H\r
-#define _STDARG_H\r
-#include  <sys/EfiCdefs.h>\r
-\r
-/** @{\r
-    The type va_list is a type suitable for holding information needed by the\r
-    macros va_start, va_arg, and va_end.\r
-\r
-    Depending upon compiler or CPU architecture, different definitions are required.\r
-**/\r
-#if defined(__GNUC__)\r
-typedef __builtin_va_list   va_list;\r
-#else\r
-#define va_list   VA_LIST\r
-#endif\r
-/*@}*/\r
-\r
-/** @{\r
-    The va_start macro must be invoked before any access to the unnamed arguments.\r
-    The va_start macro initializes ap for subsequent use by va_arg and va_end.\r
-\r
-    Synopsys: void va_start(va_list ap, paramN);\r
-\r
-    @param  ap      An object of type va_list that is to be initialized such\r
-                    that subsequent successive invocations of va_arg will\r
-                    return the values of the parameters following paramN.\r
-\r
-    @param  paramN  The parameter paramN is the identifier of the rightmost\r
-                    parameter in the variable parameter list in the function\r
-                    definition (the one just before the ,...).  If the\r
-                    parameter parmN is declared with the register storage\r
-                    class, with a function of array type, or with a type that\r
-                    is not compatible with the type that results after\r
-                    application of the default argument promotions, the\r
-                    behavior is undefined.\r
-**/\r
-#if defined(__GNUC__)\r
-#define va_start    __builtin_va_start\r
-#else\r
-#define va_start    VA_START\r
-#endif\r
-/*@}*/\r
-\r
-/** @{\r
-    The va_arg macro expands to an expression that has the type and value of\r
-    the next argument in the call.  The parameter ap shall be the same as the\r
-    va_list ap initialized by va_start.  Each invocation of va_arg modifies ap\r
-    so that the values of successive arguments are returned in turn.  The\r
-    parameter type is a type name specified such that the type of a pointer to\r
-    an object that has the specified type can be obtained simply by postfixing\r
-    a * to type.  If there is no actual next argument, or if type is not\r
-    compatible with the type of the actual next argument (as promoted\r
-    according to the default argument promotions), the behavior is undefined.\r
-\r
-    Synopsys: type va_arg(va_list ap, type);\r
-\r
-    @param  ap    An object of type va_list that was initialized by a prior\r
-                  invocation of va_start.\r
-\r
-    @param  type  A type name specifying the type of the parameter to be retrieved.\r
-\r
-    @return       The first invocation of the va_arg macro after that of the\r
-                  va_start macro returns the value of the argument after that\r
-                  specified by paramN.  Successive invocations return the values\r
-                  of the remaining arguments in succession.\r
-**/\r
-#if defined(__GNUC__)\r
-#define va_arg        __builtin_va_arg\r
-#else\r
-#define va_arg        VA_ARG\r
-#endif\r
-/*@}*/\r
-\r
-/** @{\r
-    The va_end macro facillitates a normal return from the function whose\r
-    variable argument list was referred to by the expansion of va_start that\r
-    initialized the va_list ap.\r
-\r
-    Synopsys: void va_end(va_list ap);\r
-\r
-    The va_end macro may modify ap so that it is no longer usable (without an\r
-    intervening invocation of va_start).  If there is no corresponding\r
-    invocation of the va_start macro, or if the va_end macro is not invoked\r
-    before the return, the behavior is undefined.\r
-\r
-    @param  ap    An object of type va_list, initialized by a prior\r
-                  invocation of va_start, that will no longer be referenced.\r
-**/\r
-#if defined(__GNUC__)\r
-#define va_end              __builtin_va_end\r
-#else\r
-#define va_end              VA_END\r
-#endif\r
-/*@}*/\r
-\r
-/** @{\r
-    For BSD compatibility.\r
-**/\r
-#if defined(__GNUC__)\r
-#define va_copy         __builtin_va_copy\r
-#else\r
-#define va_copy(s,d)      (s) = (d)\r
-#endif\r
-/*@}*/\r
-\r
-/** Provide a generic version of the compiler-dependent __va_copy macro.\r
-    Some software, such as Python 2.7.2, relies upon the existence of __va_copy.\r
-    If this macro is not defined, it just assigns one va_list item to another.\r
-    This breaks for compiler environments that define va_list as an array or structure.\r
-**/\r
-#ifndef __va_copy\r
-  #define __va_copy       va_copy\r
-#endif\r
-\r
-#endif  /* _STDARG_H */\r