Annotation of Gnu-Mach/kern/printf.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Header file for printf type functions.
                      3:  * Copyright (C) 2006, 2007 Free Software Foundation.
                      4:  *
                      5:  * This program is free software; you can redistribute it and/or modify
                      6:  * it under the terms of the GNU General Public License as published by
                      7:  * the Free Software Foundation; either version 2, or (at your option)
                      8:  * any later version.
                      9:  *
                     10:  * This program is distributed in the hope that it will be useful,
                     11:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
                     12:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     13:  * GNU General Public License for more details.
                     14:  *
                     15:  * You should have received a copy of the GNU General Public License
                     16:  * along with this program; if not, write to the Free Software
                     17:  * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
                     18:  */
                     19: /*
                     20:  *     String handling functions.
                     21:  *
                     22:  */
                     23: 
                     24: #ifndef _MACH_SA_SYS_PRINTF_H_
                     25: #define _MACH_SA_SYS_PRINTF_H_
                     26: 
                     27: #include <sys/types.h>
                     28: #include <stdarg.h>
                     29: 
                     30: extern void printf_init (void);
                     31: 
                     32: extern void _doprnt (const char *fmt,
                     33:                     va_list argp, 
                     34:                     void (*putc)(char, vm_offset_t), 
                     35:                     int radix, 
                     36:                     vm_offset_t putc_arg);
                     37: 
                     38: extern void printnum (unsigned long u, int base,
                     39:                       void (*putc)(char, vm_offset_t),
                     40:                       vm_offset_t putc_arg);
                     41: 
                     42: extern int sprintf (char *buf, const char *fmt, ...);
                     43: extern int vsnprintf (char *buf, size_t size, const char *fmt, va_list args);
                     44: 
                     45: extern int printf (const char *fmt, ...);
                     46: 
                     47: #define printf_once(fmt, ...)                  \
                     48:        MACRO_BEGIN                             \
                     49:        static int __once = 0;                  \
                     50:        if (!__once) {                          \
                     51:                printf(fmt, ##__VA_ARGS__);     \
                     52:                __once = 1;                     \
                     53:        }                                       \
                     54:        MACRO_END
                     55: 
                     56: extern int indent;
                     57: extern void iprintf (const char *fmt, ...);
                     58: 
                     59: extern int vprintf(const char *fmt, va_list listp);
                     60: 
                     61: extern void safe_gets (char *str, int maxlen);
                     62: 
                     63: #endif /* _MACH_SA_SYS_PRINTF_H_ */
                     64: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.