util: Include missing header in u_draw.h.
[mesa.git] / src / gallium / auxiliary / os / os_stream.h
index 3423b84d6915f8d66a3f61c6d1bd2703fee1f280..6c6050bb0284d5ae159c1f141a73f058697ab7c5 100644 (file)
@@ -50,6 +50,9 @@ struct os_stream
 
    void
    (*flush)(struct os_stream *stream);
+
+   int
+   (*vprintf)(struct os_stream *stream, const char* format, va_list ap);
 };
 
 
@@ -90,6 +93,27 @@ os_stream_flush(struct os_stream *stream)
    stream->flush(stream);
 }
 
+int
+os_default_stream_vprintf (struct os_stream* stream, const char *format, va_list ap);
+
+static INLINE int
+os_stream_vprintf (struct os_stream* stream, const char *format, va_list ap)
+{
+   return stream->vprintf(stream, format, ap);
+}
+
+static INLINE int
+os_stream_printf (struct os_stream* stream, const char *format, ...)
+{
+   int retval;
+   va_list args;
+
+   va_start (args, format);
+   retval = stream->vprintf(stream, format, args);
+   va_end (args);
+
+   return retval;
+}
 
 struct os_stream *
 os_file_stream_create(const char *filename);
@@ -99,6 +123,10 @@ struct os_stream *
 os_null_stream_create(void);
 
 
+extern struct os_stream *
+os_log_stream;
+
+
 struct os_stream *
 os_str_stream_create(size_t initial_size);
 
@@ -114,5 +142,4 @@ os_str_stream_get_and_close(struct os_stream *stream);
 #define os_file_stream_create(_filename) os_null_stream_create()
 #endif
 
-
 #endif /* _OS_STREAM_H_ */