blob: 5fee8a5a9a412ee65ee19a2555b591b50f6a3bc4 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* os_unix.c */
ichizok378447f2023-05-11 22:25:42 +01002sighandler_T mch_signal(int sig, sighandler_T func);
Bram Moolenaaref269542016-01-19 13:22:12 +01003int mch_chdir(char *path);
4void mch_write(char_u *s, int len);
5int mch_inchar(char_u *buf, int maxlen, long wtime, int tb_change_cnt);
6int mch_char_avail(void);
Bram Moolenaare9c21ae2017-08-03 20:44:48 +02007int mch_check_messages(void);
Bram Moolenaaref269542016-01-19 13:22:12 +01008long_u mch_total_mem(int special);
Bram Moolenaar0981c872020-08-23 14:28:37 +02009void mch_delay(long msec, int flags);
Bram Moolenaaref269542016-01-19 13:22:12 +010010int mch_stackcheck(char *p);
Bram Moolenaaref269542016-01-19 13:22:12 +010011void mch_suspend(void);
12void mch_init(void);
13void reset_signals(void);
14int vim_handle_signal(int sig);
15int mch_check_win(int argc, char **argv);
16int mch_input_isatty(void);
Bram Moolenaard4aa83a2019-05-09 18:59:31 +020017void ex_xrestore(exarg_T *eap);
Bram Moolenaaref269542016-01-19 13:22:12 +010018int mch_can_restore_title(void);
19int mch_can_restore_icon(void);
20void mch_settitle(char_u *title, char_u *icon);
21void mch_restore_title(int which);
22int vim_is_xterm(char_u *name);
23int use_xterm_like_mouse(char_u *name);
24int use_xterm_mouse(void);
25int vim_is_iris(char_u *name);
26int vim_is_vt300(char_u *name);
Bram Moolenaaref269542016-01-19 13:22:12 +010027int mch_get_user_name(char_u *s, int len);
28int mch_get_uname(uid_t uid, char_u *s, int len);
29void mch_get_host_name(char_u *s, int len);
30long mch_get_pid(void);
Bram Moolenaar1b243ea2019-04-28 22:50:40 +020031int mch_process_running(long pid);
Bram Moolenaaref269542016-01-19 13:22:12 +010032int mch_dirname(char_u *buf, int len);
33int mch_FullName(char_u *fname, char_u *buf, int len, int force);
34int mch_isFullName(char_u *fname);
35void fname_case(char_u *name, int len);
36long mch_getperm(char_u *name);
37int mch_setperm(char_u *name, long perm);
Bram Moolenaarcd142e32017-11-16 17:03:45 +010038int mch_fsetperm(int fd, long perm);
Bram Moolenaaref269542016-01-19 13:22:12 +010039void mch_copy_sec(char_u *from_file, char_u *to_file);
Christian Brabandte085dfd2023-09-30 12:49:18 +020040void mch_copy_xattr(char_u *from_file, char_u *to_file);
Bram Moolenaaref269542016-01-19 13:22:12 +010041vim_acl_T mch_get_acl(char_u *fname);
42void mch_set_acl(char_u *fname, vim_acl_T aclent);
43void mch_free_acl(vim_acl_T aclent);
44void mch_hide(char_u *name);
45int mch_isdir(char_u *name);
46int mch_isrealdir(char_u *name);
47int mch_can_exe(char_u *name, char_u **path, int use_path);
48int mch_nodetype(char_u *name);
49void mch_early_init(void);
50void mch_free_mem(void);
51void mch_exit(int r);
Bram Moolenaar26e86442020-05-17 14:06:16 +020052void mch_settmode(tmode_T tmode);
Bram Moolenaaref269542016-01-19 13:22:12 +010053void get_stty(void);
Bram Moolenaar4f44b882017-08-13 20:06:18 +020054int get_tty_info(int fd, ttyinfo_T *info);
Bram Moolenaaref269542016-01-19 13:22:12 +010055void mch_setmouse(int on);
Bram Moolenaar51b0f372017-11-18 18:52:04 +010056void mch_bevalterm_changed(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010057void check_mouse_termcode(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010058int mch_get_shellsize(void);
Yegappan Lakshmanand2232d72025-03-24 20:36:14 +010059void mch_calc_cell_size(struct cellsize *cs_out);
Bram Moolenaarb13501f2017-07-22 22:32:56 +020060int mch_report_winsize(int fd, int rows, int cols);
Bram Moolenaaref269542016-01-19 13:22:12 +010061void mch_set_shellsize(void);
62void mch_new_shellsize(void);
Bram Moolenaar197c6b72019-11-03 23:37:12 +010063int unix_build_argv(char_u *cmd, char ***argvp, char_u **sh_tofree, char_u **shcf_tofree);
Bram Moolenaaref269542016-01-19 13:22:12 +010064int mch_call_shell(char_u *cmd, int options);
Bram Moolenaar493359e2018-06-12 20:25:52 +020065void mch_job_start(char **argv, job_T *job, jobopt_T *options, int is_terminal);
Bram Moolenaar835dc632016-02-07 14:27:38 +010066char *mch_job_status(job_T *job);
Bram Moolenaar97792de2016-10-15 18:36:49 +020067job_T *mch_detect_ended_job(job_T *job_list);
Bram Moolenaar2d33e902017-08-11 16:31:54 +020068int mch_signal_job(job_T *job, char_u *how);
Bram Moolenaar76467df2016-02-12 19:30:26 +010069void mch_clear_job(job_T *job);
Bram Moolenaar13ebb032017-08-26 22:02:51 +020070int mch_create_pty_channel(job_T *job, jobopt_T *options);
Bram Moolenaarb9c31e72016-09-29 15:18:57 +020071void mch_breakcheck(int force);
Bram Moolenaaref269542016-01-19 13:22:12 +010072int mch_expandpath(garray_T *gap, char_u *path, int flags);
73int mch_expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file, int flags);
74int mch_has_exp_wildcard(char_u *p);
75int mch_has_wildcard(char_u *p);
Bram Moolenaarfdcc9af2016-02-29 12:52:39 +010076int mch_rename(const char *src, const char *dest);
Paul Ollis65745772022-06-05 16:55:54 +010077int gpm_available(void);
Bram Moolenaar4b8366b2019-05-04 17:34:34 +020078int gpm_enabled(void);
LemonBoy9987fe82024-07-04 13:20:49 +020079int mch_get_random(char_u *buf, int len);
Yegappan Lakshmanand2232d72025-03-24 20:36:14 +010080int mch_libcall(char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result);
Bram Moolenaaref269542016-01-19 13:22:12 +010081void setup_term_clip(void);
82void start_xterm_trace(int button);
83void stop_xterm_trace(void);
84void clear_xterm_clip(void);
Bram Moolenaar0554fa42019-06-14 21:36:54 +020085int clip_xterm_own_selection(Clipboard_T *cbd);
86void clip_xterm_lose_selection(Clipboard_T *cbd);
87void clip_xterm_request_selection(Clipboard_T *cbd);
88void clip_xterm_set_selection(Clipboard_T *cbd);
Bram Moolenaaref269542016-01-19 13:22:12 +010089int xsmp_handle_requests(void);
90void xsmp_init(void);
91void xsmp_close(void);
Paul Ollis65745772022-06-05 16:55:54 +010092void stop_timeout(void);
Bram Moolenaar155f2d12022-06-20 13:38:33 +010093volatile sig_atomic_t *start_timeout(long msec);
Bram Moolenaarc72e31d2022-06-16 18:47:20 +010094void delete_timer(void);
Bram Moolenaar071d4272004-06-13 20:20:40 +000095/* vim: set ft=c : */