|
|
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.