|
|
1.1 ! root 1: /*** ! 2: *stdarg.h - defines ANSI-style macros for variable argument functions ! 3: * ! 4: * Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved. ! 5: * ! 6: *Purpose: ! 7: * This file defines ANSI-style macros for accessing arguments ! 8: * of functions which take a variable number of arguments. ! 9: * [ANSI] ! 10: * ! 11: ****/ ! 12: ! 13: #ifndef _INC_STDARG ! 14: ! 15: #ifdef __cplusplus ! 16: extern "C" { ! 17: #endif ! 18: ! 19: ! 20: ! 21: #ifndef _VA_LIST_DEFINED ! 22: typedef char * va_list; ! 23: #define _VA_LIST_DEFINED ! 24: #endif ! 25: ! 26: #define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) ! 27: ! 28: #define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) ! 29: #define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) ! 30: #define va_end(ap) ( ap = (va_list)0 ) ! 31: ! 32: #ifdef __cplusplus ! 33: } ! 34: #endif ! 35: ! 36: #define _INC_STDARG ! 37: #endif /* _INC_STDARG */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.