19
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
1 /*
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
2 * Copyright (C) 2017 Guido Berhoerster <guido+pwm@berhoerster.name>
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
3 *
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
4 * Permission is hereby granted, free of charge, to any person obtaining
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
5 * a copy of this software and associated documentation files (the
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
6 * "Software"), to deal in the Software without restriction, including
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
7 * without limitation the rights to use, copy, modify, merge, publish,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
8 * distribute, sublicense, and/or sell copies of the Software, and to
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
9 * permit persons to whom the Software is furnished to do so, subject to
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
10 * the following conditions:
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
11 *
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
12 * The above copyright notice and this permission notice shall be included
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
13 * in all copies or substantial portions of the Software.
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
14 *
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
22 */
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
23
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
24 #ifndef IO_H
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
25 #define IO_H
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
26
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
27 #include <libtecla.h>
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
28 #include <stdarg.h>
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
29
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
30 enum io_status {
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
31 IO_OK,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
32 IO_EOF = -1,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
33 IO_ERROR = -2,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
34 IO_TRUNCATED = -3,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
35 IO_SIGNAL = -4,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
36 IO_PASSWORD_EMPTY = -5,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
37 IO_PASSWORD_MISMATCH = -6
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
38 };
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
39
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
40 int io_gl_complete_nothing(WordCompletion *, void *, const char *,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
41 int);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
42 enum io_status io_get_char(const char *, int *);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
43 enum io_status io_get_line(GetLine *, const char *, int, const char *, int,
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
44 size_t, char *);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
45 enum io_status io_get_password(const char *, const char *, size_t, char *);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
46 enum io_status io_dputs(int, const char *);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
47 enum io_status io_vdprintf(int, const char *, va_list);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
48 enum io_status io_dprintf(int, const char *, ...);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
49 enum io_status io_printf(const char *, ...);
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
50
|
Guido Berhoerster <guido+pwm@berhoerster.name>
parents:
diff
changeset
|
51 #endif /* !IO_H */
|