1 #ifndef H_LY_CONFIG
2 #define H_LY_CONFIG
3 
4 #include "ctypes.h"
5 
6 enum INPUTS {
7 	SESSION_SWITCH,
8 	LOGIN_INPUT,
9 	PASSWORD_INPUT,
10 };
11 
12 struct lang
13 {
14 	char* capslock;
15 	char* err_alloc;
16 	char* err_bounds;
17 	char* err_chdir;
18 	char* err_console_dev;
19 	char* err_dgn_oob;
20 	char* err_domain;
21 	char* err_hostname;
22 	char* err_mlock;
23 	char* err_null;
24 	char* err_pam;
25 	char* err_pam_abort;
26 	char* err_pam_acct_expired;
27 	char* err_pam_auth;
28 	char* err_pam_authinfo_unavail;
29 	char* err_pam_authok_reqd;
30 	char* err_pam_buf;
31 	char* err_pam_cred_err;
32 	char* err_pam_cred_expired;
33 	char* err_pam_cred_insufficient;
34 	char* err_pam_cred_unavail;
35 	char* err_pam_maxtries;
36 	char* err_pam_perm_denied;
37 	char* err_pam_session;
38 	char* err_pam_sys;
39 	char* err_pam_user_unknown;
40 	char* err_path;
41 	char* err_perm_dir;
42 	char* err_perm_group;
43 	char* err_perm_user;
44 	char* err_pwnam;
45 	char* err_user_gid;
46 	char* err_user_init;
47 	char* err_user_uid;
48 	char* err_xsessions_dir;
49 	char* err_xsessions_open;
50 	char* f1;
51 	char* f2;
52 	char* login;
53 	char* logout;
54 	char* numlock;
55 	char* password;
56 	char* shell;
57 	char* wayland;
58 	char* xinitrc;
59 };
60 
61 struct config
62 {
63 	bool animate;
64 	u8 animation;
65 	char asterisk;
66 	u8 bg;
67 	bool blank_box;
68 	bool blank_password;
69 	char* console_dev;
70 	u8 default_input;
71 	u8 fg;
72 	bool hide_borders;
73 	u8 input_len;
74 	char* lang;
75 	bool load;
76 	u8 margin_box_h;
77 	u8 margin_box_v;
78 	u8 max_desktop_len;
79 	u8 max_login_len;
80 	u8 max_password_len;
81 	char* mcookie_cmd;
82 	u16 min_refresh_delta;
83 	char* path;
84 	char* restart_cmd;
85 	bool save;
86 	char* save_file;
87 	char* service_name;
88 	char* shutdown_cmd;
89 	char* term_reset_cmd;
90 	u8 tty;
91 	u8 vt;
92 	char* wayland_cmd;
93 	bool wayland_specifier;
94 	char* waylandsessions;
95 	char* x_cmd;
96 	char* x_cmd_setup;
97 	char* xauth_cmd;
98 	char* xsessions;
99 };
100 
101 extern struct lang lang;
102 extern struct config config;
103 
104 void config_handle_str(void* data, char** pars, const int pars_count);
105 void lang_load();
106 void config_load(const char *cfg_path);
107 void lang_defaults();
108 void config_defaults();
109 void lang_free();
110 void config_free();
111 
112 #endif
113