mirror of
https://github.com/pvvx/RTL00_HelloWorld.git
synced 2024-11-28 09:10:33 +00:00
37 lines
1.2 KiB
C
37 lines
1.2 KiB
C
/*
|
|
* Routines to access hardware
|
|
*
|
|
* Copyright (c) 2013 Realtek Semiconductor Corp.
|
|
*
|
|
* This module is a confidential and proprietary property of RealTek and
|
|
* possession or use of this module requires written permission of RealTek.
|
|
*/
|
|
|
|
#ifndef _VA_LIST_H_
|
|
#define _VA_LIST_H_
|
|
|
|
//#include "platform_autoconf.h"
|
|
#include "basic_types.h"
|
|
|
|
#ifndef va_arg //this part is adapted from linux (Linux/include/acpi/platform/acenv.h)
|
|
|
|
typedef s32 acpi_native_int;//this definition is in (Linux/include/acpi/actypes.h)
|
|
|
|
#ifndef _VALIST
|
|
#define _VALIST
|
|
typedef char *va_list;
|
|
#endif /* _VALIST */
|
|
|
|
/* Storage alignment properties */
|
|
#define _AUPBND (sizeof (acpi_native_int) - 1)
|
|
#define _ADNBND (sizeof (acpi_native_int) - 1)
|
|
|
|
/* Variable argument list macro definitions */
|
|
#define _bnd(X, bnd) (((sizeof (X)) + (bnd)) & (~(bnd)))
|
|
#define va_arg(ap, T) (*(T *)(((ap) += (_bnd (T, _AUPBND))) - (_bnd (T,_ADNBND))))
|
|
#define va_end(ap) (ap = (va_list) NULL)
|
|
#define va_start(ap, A) (void) ((ap) = (((char *) &(A)) + (_bnd (A,_AUPBND))))
|
|
|
|
#endif /* va_arg */
|
|
|
|
#endif //_VA_LIST_H_
|