Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


stability fixes
[palacios.git] / geekos / include / libc / fmtout.h
1 /*
2  * Generalized support for printf()-style formatted output
3  * Copyright (c) 2004, David H. Hovemeyer <daveho@cs.umd.edu>
4  * $Revision: 1.1 $
5  *
6  * This is free software.  You are permitted to use,
7  * redistribute, and modify it as specified in the file "COPYING".
8  */
9
10 #ifndef OUTPUT_H
11 #define OUTPUT_H
12
13 #include <stdarg.h>
14
15 /*
16  * An output sink for Format_Output().
17  * Useful for emitting formatted output to a function
18  * or a buffer.
19  */
20 struct Output_Sink {
21     /*
22      * Emit a single character of output.
23      * This is called for all output characters,
24      * in order.
25      */
26     void (*Emit)(struct Output_Sink *o, int ch);
27
28     /*
29      * Finish the formatted output. Called after all characters
30      * have been emitted.
31      */
32     void (*Finish)(struct Output_Sink *o);
33 };
34
35 int Format_Output(struct Output_Sink *q, const char *format, va_list ap);
36
37 #endif /* OUTPUT_H */