]>
Commit | Line | Data |
---|---|---|
46f4a4d2 | 1 | /* Simple stream test. |
896014f4 | 2 | * |
46f4a4d2 PJ |
3 | * Copyright (C) 2006 Sun Microsystems, Inc. |
4 | * | |
5 | * This file is part of Quagga. | |
6 | * | |
7 | * Quagga is free software; you can redistribute it and/or modify it | |
8 | * under the terms of the GNU General Public License as published by the | |
9 | * Free Software Foundation; either version 2, or (at your option) any | |
10 | * later version. | |
11 | * | |
12 | * Quagga is distributed in the hope that it will be useful, but | |
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | * General Public License for more details. | |
16 | * | |
896014f4 DL |
17 | * You should have received a copy of the GNU General Public License along |
18 | * with this program; see the file COPYING; if not, write to the Free Software | |
19 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
46f4a4d2 PJ |
20 | */ |
21 | ||
067fca86 | 22 | #include <zebra.h> |
23 | #include <stream.h> | |
24 | #include <thread.h> | |
25 | ||
6a697154 | 26 | static unsigned long long ham = 0xdeadbeefdeadbeef; |
067fca86 | 27 | struct thread_master *master; |
28 | ||
d62a17ae | 29 | static void print_stream(struct stream *s) |
067fca86 | 30 | { |
d62a17ae | 31 | size_t getp = stream_get_getp(s); |
32 | ||
33 | printf("endp: %zu, readable: %zu, writeable: %zu\n", stream_get_endp(s), | |
34 | STREAM_READABLE(s), STREAM_WRITEABLE(s)); | |
35 | ||
36 | while (STREAM_READABLE(s)) { | |
37 | printf("0x%x ", *stream_pnt(s)); | |
38 | stream_forward_getp(s, 1); | |
39 | } | |
40 | ||
41 | printf("\n"); | |
42 | ||
43 | /* put getp back to where it was */ | |
44 | stream_set_getp(s, getp); | |
067fca86 | 45 | } |
46 | ||
d62a17ae | 47 | int main(void) |
067fca86 | 48 | { |
d62a17ae | 49 | struct stream *s; |
50 | ||
51 | s = stream_new(1024); | |
52 | ||
53 | stream_putc(s, ham); | |
54 | stream_putw(s, ham); | |
55 | stream_putl(s, ham); | |
56 | stream_putq(s, ham); | |
57 | ||
58 | print_stream(s); | |
59 | ||
db3c830a | 60 | stream_resize_inplace(&s, stream_get_endp(s)); |
d62a17ae | 61 | |
62 | print_stream(s); | |
63 | ||
64 | printf("c: 0x%hhx\n", stream_getc(s)); | |
65 | printf("w: 0x%hx\n", stream_getw(s)); | |
66 | printf("l: 0x%x\n", stream_getl(s)); | |
67 | printf("q: 0x%" PRIx64 "\n", stream_getq(s)); | |
68 | ||
69 | return 0; | |
067fca86 | 70 | } |