home *** CD-ROM | disk | FTP | other *** search
- /* STDARG.H
-
- */
-
- #if (__TID__ >> 8) == 4 /* Z80/64180 */
-
- typedef struct
- {
- char *parm;
- char *addr;
- char argc;
- } va_list[1];
-
- extern char *_get_varg (va_list ap, char type, char size);
-
- # define va_start(ap,parmN) ((ap[0].addr = ((char *) &parmN) + sizeof(parmN)),\
- (ap[0].parm = _args$))
-
- # define va_arg(ap,mode) *(mode *) _get_varg (ap, _argt$(mode), sizeof(mode))
-
- #else /* Not Z80 */
-
- typedef char *va_list[1];
-
- #if (__TID__ >> 8) == 1 && ((__TID__ & 15) == 4 || (__TID__ & 15) == 5)
-
- /* Single chip 8051 memory model special */
-
- # define va_start(ap,parmN) ap[0] = ((char *) &parmN)
- # define va_arg(ap,mode) (*(mode *)(ap[0] -= sizeof(mode)))
-
- #else /* Not Z80 or 8051/small */
-
- # define va_start(ap,parmN) ap[0] = ((char *) &parmN) + sizeof(parmN)
- # define va_arg(ap,mode) *(mode *) ((ap[0] += sizeof(mode)) - sizeof(mode))
-
- #endif
-
- #endif
-
- # define va_end(ap) /* -g option warns here - OK */
-
- #define _STDARG_INCLUDED /* Needed by "stdio.h" */
-