/[jscoverage]/trunk/stream.h
ViewVC logotype

Annotation of /trunk/stream.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 92 - (hide annotations)
Wed May 7 04:21:22 2008 UTC (11 years, 5 months ago) by siliconforks
File MIME type: text/plain
File size: 1405 byte(s)
Add streams; don't use temporary files.

1 siliconforks 92 /*
2     stream.h - `Stream' object
3     Copyright (C) 2008 siliconforks.com
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 of the License, or
8     (at your option) 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 along
16     with this program; if not, write to the Free Software Foundation, Inc.,
17     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18     */
19    
20     #ifndef STREAM_H_
21     #define STREAM_H_
22    
23     #include <stdio.h>
24     #include <stdlib.h>
25    
26     typedef struct Stream {
27     void * data;
28     size_t length;
29     size_t capacity;
30     } Stream;
31    
32     Stream * Stream_new(size_t capacity);
33    
34     void Stream_write(Stream * stream, const void * p, size_t size);
35    
36     void Stream_write_string(Stream * stream, const char * s);
37    
38     void Stream_write_char(Stream * stream, char c);
39    
40     void Stream_printf(Stream * stream, const char * format, ...) __attribute__((format(printf, 2, 3)));
41    
42     void Stream_write_file_contents(Stream * stream, FILE * f);
43    
44     void Stream_delete(Stream * stream);
45    
46     #endif /* STREAM_H_ */

  ViewVC Help
Powered by ViewVC 1.1.24