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

Contents of /trunk/stream.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 427 - (show annotations)
Wed Feb 18 16:08:33 2009 UTC (9 years, 5 months ago) by siliconforks
File MIME type: text/plain
File size: 1540 byte(s)
Update Copyright year.
1 /*
2 stream.h - `Stream' object
3 Copyright (C) 2008, 2009 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 <stdint.h>
25 #include <stdlib.h>
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 typedef struct Stream {
32 uint8_t * data;
33 size_t length;
34 size_t capacity;
35 } Stream;
36
37 Stream * Stream_new(size_t capacity);
38
39 void Stream_write(Stream * stream, const void * p, size_t size);
40
41 void Stream_write_string(Stream * stream, const char * s);
42
43 void Stream_write_char(Stream * stream, char c);
44
45 void Stream_printf(Stream * stream, const char * format, ...) __attribute__((format(printf, 2, 3)));
46
47 void Stream_write_file_contents(Stream * stream, FILE * f);
48
49 void Stream_reset(Stream * stream);
50
51 void Stream_delete(Stream * stream);
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif /* STREAM_H_ */

  ViewVC Help
Powered by ViewVC 1.1.24