iPXE
stdarg.h File Reference

Go to the source code of this file.

Macros

#define va_start(ap, last)
#define va_arg(ap, type)
#define va_end(ap)
#define va_copy(dest, src)
#define _VA_ARG_COUNT( _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, N, ...)
 Count number of arguments to a variadic macro.
#define VA_ARG_COUNT(...)

Typedefs

typedef __builtin_va_list va_list

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 FILE_SECBOOT (PERMITTED)

Macro Definition Documentation

◆ va_start

◆ va_arg

#define va_arg ( ap,
type )
Value:
__builtin_va_arg ( ap, type )
uint32_t type
Operating system type.
Definition ena.h:1

Definition at line 9 of file stdarg.h.

Referenced by downloader_vredirect(), efi_ifr_form_set_op(), efi_paths(), hv_alloc_pages(), hv_free_pages(), intfs_vrestart(), intfs_vshutdown(), iscsi_vredirect(), tls_hmac_update_va(), vcprintf(), xenstore_request(), and xfer_vopen().

◆ va_end

◆ va_copy

#define va_copy ( dest,
src )
Value:
__builtin_va_copy ( dest, src )
if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" retur dest)
Definition string.h:151
static const void * src
Definition string.h:48

Definition at line 11 of file stdarg.h.

Referenced by downloader_vredirect(), efi_vasprintf(), intfs_vrestart(), intfs_vshutdown(), iscsi_vredirect(), tls_p_hash_va(), tls_prf(), vasprintf(), xenstore_request(), and xfer_vprintf().

◆ _VA_ARG_COUNT

#define _VA_ARG_COUNT ( _1,
_2,
_3,
_4,
_5,
_6,
_7,
_8,
_9,
_10,
_11,
_12,
_13,
_14,
_15,
_16,
_17,
_18,
_19,
_20,
_21,
_22,
_23,
_24,
_25,
_26,
_27,
_28,
_29,
_30,
_31,
_32,
_33,
_34,
_35,
_36,
_37,
_38,
_39,
_40,
_41,
_42,
_43,
_44,
_45,
_46,
_47,
_48,
_49,
_50,
_51,
_52,
_53,
_54,
_55,
_56,
_57,
_58,
_59,
_60,
_61,
_62,
_63,
N,
... )
Value:
N

Count number of arguments to a variadic macro.

This rather neat, non-iterative solution is courtesy of Laurent Deniau.

Definition at line 20 of file stdarg.h.

◆ VA_ARG_COUNT

#define VA_ARG_COUNT ( ...)
Value:
_VA_ARG_COUNT ( __VA_ARGS__, \
63, 62, 61, 60, 59, 58, 57, 56, \
55, 54, 53, 52, 51, 50, 49, 48, \
47, 46, 45, 44, 43, 42, 41, 40, \
39, 38, 37, 36, 35, 34, 33, 32, \
31, 30, 29, 28, 27, 26, 25, 24, \
23, 22, 21, 20, 19, 18, 17, 16, \
15, 14, 13, 12, 11, 10, 9, 8, \
7, 6, 5, 4, 3, 2, 1, 0 )
#define _VA_ARG_COUNT( _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, N,...)
Count number of arguments to a variadic macro.
Definition stdarg.h:20

Definition at line 28 of file stdarg.h.

28#define VA_ARG_COUNT( ... ) \
29 _VA_ARG_COUNT ( __VA_ARGS__, \
30 63, 62, 61, 60, 59, 58, 57, 56, \
31 55, 54, 53, 52, 51, 50, 49, 48, \
32 47, 46, 45, 44, 43, 42, 41, 40, \
33 39, 38, 37, 36, 35, 34, 33, 32, \
34 31, 30, 29, 28, 27, 26, 25, 24, \
35 23, 22, 21, 20, 19, 18, 17, 16, \
36 15, 14, 13, 12, 11, 10, 9, 8, \
37 7, 6, 5, 4, 3, 2, 1, 0 )

Typedef Documentation

◆ va_list

typedef __builtin_va_list va_list

Definition at line 7 of file stdarg.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )