Download
jcs
/subtext
/settings.h
(View History)
jcs settings: Make struct_editor use session_menu | Latest amendment: 387 on 2023-03-10 |
1 | /* |
2 | * Copyright (c) 2021-2022 joshua stein <jcs@jcs.org> |
3 | * |
4 | * Permission to use, copy, modify, and distribute this software for any |
5 | * purpose with or without fee is hereby granted, provided that the above |
6 | * copyright notice and this permission notice appear in all copies. |
7 | * |
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
15 | */ |
16 | |
17 | #ifndef __SETTINGS_H__ |
18 | #define __SETTINGS_H__ |
19 | |
20 | #include "session.h" |
21 | |
22 | enum { |
23 | CONFIG_TYPE_STRING, |
24 | CONFIG_TYPE_SHORT, |
25 | CONFIG_TYPE_LONG, |
26 | CONFIG_TYPE_BOOLEAN, |
27 | CONFIG_TYPE_IP, |
28 | CONFIG_TYPE_PASSWORD |
29 | }; |
30 | |
31 | struct struct_field { |
32 | char name[50]; |
33 | short type; |
34 | unsigned short off; |
35 | long min; |
36 | long max; |
37 | }; |
38 | |
39 | short struct_editor(struct session *s, const struct struct_field *fields, |
40 | const size_t nfields, const struct session_menu_option *extra_opts, |
41 | size_t nextra_opts, void *data, size_t dsize, void **result, |
42 | char *title, char *prompt); |
43 | void view_editor_show(size_t id, char *title); |
44 | |
45 | #endif |