blob: 47a48da79fc08eb038dd9e6042d7fdbedc2db234 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* vi:set ts=8 sts=4 sw=4:
2 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 *
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
7 */
8
9#include <sys/types.h>
10#include <sys/stat.h>
11#include <sys/ioctl.h>
12#include <termios.h>
13#include <stdlib.h>
14#include <unixlib/local.h>
15#include <errno.h>
16#include <fcntl.h>
17
18#define CASE_INSENSITIVE_FILENAME
19#define FEAT_MODIFY_FNAME
20#define FEAT_OSFILETYPE
21#define DFLT_OFT "Text"
22#define USE_TERM_CONSOLE
23#define HAVE_AVAIL_MEM
24
25/* Longer filenames now accessible to all */
26#ifndef BASENAMELEN
27# define BASENAMELEN 64 /* Same length as unzip */
28#endif
29
30#ifndef TEMNAME
31# define TEMPNAME "<Wimp$ScrapDir>.v?XXXXXX"
32# define TEMPNAMELEN 25
33#endif
34
35#ifndef DFLT_HELPFILE
36# define DFLT_HELPFILE "Vim:doc.help"
37#endif
38
39#ifndef DFLT_BDIR
40# define DFLT_BDIR ".,<Wimp$ScrapDir>." /* default for 'backupdir' */
41#endif
42
43/* Paths to try putting swap file in. */
44#ifndef DFLT_DIR
45# define DFLT_DIR "<Wimp$ScrapDir>.,." /* default for 'directory' */
46#endif
47
48#ifndef DFLT_VDIR
49# define DFLT_VDIR "Choices:Vim.view" /* default for 'viewdir' */
50#endif
51
52#ifndef TERMCAPFILE
53# define TERMCAPFILE "Vim:TermCap"
54#endif
55#define HAVE_TGETENT
56
57#ifndef SYNTAX_FNAME
58# define SYNTAX_FNAME "Vim:Syntax.%s"
59#endif
60
61#ifndef EVIM_FILE
62# define EVIM_FILE "Vim:Evim"
63#endif
64
65#define FEAT_VIMINFO
66
67#ifndef VIMINFO_FILE
68# define VIMINFO_FILE "<Choices$Write>.Vim.VimInfo"
69#endif
70#ifndef VIMINFO_FILE2
71# define VIMINFO_FILE2 "Choices:Vim.VimInfo"
72#endif
73
74#ifndef VIMRC_FILE
75# define VIMRC_FILE "/vimrc"
76#endif
77#ifndef EXRC_FILE
78# define EXRC_FILE "/exrc"
79#endif
80#ifndef GVIMRC_FILE
81# define GVIMRC_FILE "/gvimrc"
82#endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000083#ifndef USR_VIMRC_FILE
84# define USR_VIMRC_FILE "Vim:Evim"
85#endif
86#ifndef SESSION_FILE
87# define SESSION_FILE "/Session.vim"
88#endif
89#ifndef USR_VIMRC_FILE
90# define USR_VIMRC_FILE "Choices:Vim.VimRC"
91#endif
92#ifndef USR_GVIMRC_FILE
93# define USR_GVIMRC_FILE "Choices:Vim.GVimRC"
94#endif
95#ifndef USR_EXRC_FILE
96# define USR_EXRC_FILE "Choices:Vim.ExRC"
97#endif
98#ifndef SYS_VIMRC_FILE
99# define SYS_VIMRC_FILE "Vim:VimRC"
100#endif
101#ifndef SYS_GVIMRC_FILE
102# define SYS_GVIMRC_FILE "Vim:GVimRC"
103#endif
104#ifndef SYS_MENU_FILE
105# define SYS_MENU_FILE "Vim:Menu"
106#endif
107#ifndef SYS_OPTWIN_FILE
108# define SYS_OPTWIN_FILE "Vim:Optwin"
109#endif
110#ifndef FILETYPE_FILE
111# define FILETYPE_FILE "Vim:Filetype"
112#endif
113#ifndef FTPLUGIN_FILE
114# define FTPLUGIN_FILE "Vim:Ftplugin/vim"
115#endif
116#ifndef INDENT_FILE
117# define INDENT_FILE "Vim:Indent/vim"
118#endif
119#ifndef FTOFF_FILE
120# define FTOFF_FILE "Vim:Ftoff"
121#endif
122#ifndef FTPLUGOF_FILE
123# define FTPLUGOF_FILE "Vim:Ftplugof"
124#endif
125#ifndef INDOFF_FILE
126# define INDOFF_FILE "Vim:Indoff"
127#endif
128
129#define DFLT_ERRORFILE "errors/vim"
130#define DFLT_RUNTIMEPATH "Choices:Vim,Vim:,Choices:Vim.after"
131
132/*
133 * RISC PCs have plenty of memory, use large buffers
134 */
135#define CMDBUFFSIZE 1024 /* size of the command processing buffer */
136#define MAXPATHL 256 /* paths are always quite short though */
137
138#ifndef DFLT_MAXMEM
139# define DFLT_MAXMEM (5*1024) /* use up to 5 Mbyte for a buffer */
140#endif
141
142#ifndef DFLT_MAXMEMTOT
143# define DFLT_MAXMEMTOT (10*1024) /* use up to 10 Mbyte for Vim */
144#endif
145
146#ifdef HAVE_SIGSET
147# define signal sigset
148#endif
149
150#define n_flag (1<<31)
151#define z_flag (1<<30)
152#define c_flag (1<<29)
153#define v_flag (1<<28)
154
155/* These take r0-r7 as inputs, returns r0-r7 in global variables. */
156void swi(int swinum, ...); /* Handles errors itself */
157int xswi(int swinum, ...); /* Returns errors using v flag */
158extern int r0, r1, r2, r3, r4, r5, r6, r7; /* For return values */
159
160#include <kernel.h>
161#include <swis.h>
162
163#define mch_memmove(to, from, len) memmove((char *)(to), (char *)(from), len)
164#define mch_rename(src, dst) rename(src, dst)
165#define mch_getenv(x) (char_u *)getenv((char *)x)
166#define mch_setenv(name, val, x) setenv(name, val, x)