annotate ploki/IO.h @ 4220:bd96abc7003f

<mauke> cd ploki && make
author HackBot
date Fri, 20 Dec 2013 22:11:09 +0000
parents 7a6bc310b732
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4215
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
1 #ifndef IO_H_
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
2 #define IO_H_
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
3
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
4 #include "config.h"
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
5 #include "Str.h"
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
6
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
7 #include <stdio.h>
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
8
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
9 typedef struct IO IO;
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
10
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
11 enum io_flags {
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
12 IO_BINARY = 1,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
13 IO_READ = 2 * IO_BINARY,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
14 IO_WRITE = 2 * IO_READ,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
15 IO_APPEND = 2 * IO_WRITE,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
16 IO_TRUNCATE = 2 * IO_APPEND,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
17 IO_BUFFERED = 2 * IO_TRUNCATE,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
18 IO_AUTOFLUSH = 2 * IO_BUFFERED
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
19 };
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
20
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
21 enum io_whence {
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
22 IOS_START = SEEK_SET,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
23 IOS_CUR = SEEK_CUR,
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
24 IOS_END = SEEK_END
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
25 };
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
26
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
27 void io_init(void);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
28 void io_end(void);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
29 const char *io_name(const IO *, String *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
30 IO *io_enter(const char *, FILE *, enum io_flags);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
31 IO *io_open(const char *, enum io_flags);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
32 IO *io_incr(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
33 void io_decr(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
34 int io_close(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
35
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
36 ATTR_PURE
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
37 int io_bufred(const IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
38 void io_unbuffer(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
39 const char *io_bufptr(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
40
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
41 ATTR_PURE
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
42 FILE *io_fp(const IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
43
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
44 int io_flush(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
45 ATTR_PURE
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
46 int io_err(const IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
47 ATTR_PURE
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
48 int io_eof(const IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
49 int io_peek(IO *, size_t);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
50 int io_cmppeek(IO *, size_t, const void *, size_t);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
51 int io_xcmp(IO *, size_t, size_t, size_t);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
52
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
53 size_t io_read(IO *, String *, size_t);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
54 int io_getc(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
55 size_t io_getline(IO *, String *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
56 size_t io_write(IO *, const String *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
57 size_t io_write_m(IO *, const void *, size_t);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
58 size_t io_write_s(IO *, const char *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
59 int io_putc(IO *, int);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
60
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
61 long io_tell(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
62 int io_seek(IO *, long, enum io_whence);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
63 void io_clearerr(IO *);
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
64
7a6bc310b732 <shachaf> tar xjf ploki-0.6.5.1.tar.bz2
HackBot
parents:
diff changeset
65 #endif /* IO_H_ */