📄 config.h
字号:
/* * vi configuration file * We try to automatically configure to various compilers and operating * systems. Extend the autoconf section as needed. */#ifndef _CONFIG_H# define _CONFIG_H/*************************** autoconf section ************************//* Commodore-Amiga */#ifdef amiga# define AMIGA 1# define COMPILED_BY "Manx Aztec C 5.2b"#endif/* standard unix V (?) */#ifdef M_SYSV# define UNIXV 1#endif/* xelos system, University of Ulm */#ifdef xelos# define UNIXV 1#endif/* BSD UNIX? */#ifdef bsd# define BSD 1#else# ifdef sun# define BSD 1# endif#endif/* Microsoft C: sorry, Watcom does the same thing */#ifdef M_I86# ifndef M_SYSV# define MSDOS 1# ifdef IBMC2# define COMPILED_BY "IBM C/2 1.00"# else# define MICROSOFT 1# define COMPILED_BY "Microsoft C 5.10"# endif# endif#endif/* Borland's Turbo C */#ifdef __TURBOC__# define MSDOS 1# define TURBOC 1# ifdef __BORLANDC__# define COMPILED_BY "Borland C 2.00"# else# define COMPILED_BY (__TURBOC__ >= 661 ? "Turbo C++ 1.00" : "Turbo C 2.00")# endif#endif/* Tos Mark-Williams */#ifdef M68000# define TOS 1# define COMPILED_BY "Mark Williams C"#endif/* Tos GNU-C */#if defined(__atarist__) && defined(__gem__)# define TOS 1# define COMPILED_BY "GNU-C " __VERSION__#endif/* OS9/68000 */#ifdef OSK# define COMPILED_BY "Microware C V2.3 Edition 40"#endif/* DEC Rainbow, running MS-DOS (handled by earlier MS-DOS tests) *//* (would need -DRAINBOW in CFLAGS to compile a Rainbow-compatible .EXE) */#ifdef VMS# define COMPILED_BY "VAX/VMS VAXC compiler"# undef VMS# define VMS 1#endif/*************************** end of autoconf section ************************//* All undefined symbols are defined to zero here, to allow for older *//* compilers which dont understand #if defined() or #if UNDEFINED_SYMBOL *//*************************** operating systems *****************************/ #ifndef BSD# define BSD 0 /* UNIX - Berkeley 4.x */#endif#ifndef UNIXV# define UNIXV 0 /* UNIX - AT&T SYSV */#endif#ifndef UNIX7# define UNIX7 0 /* UNIX - version 7 */#endif#ifndef MSDOS# define MSDOS 0 /* PC */#endif#ifndef TOS# define TOS 0 /* Atari ST */#endif#ifndef AMIGA# define AMIGA 0 /* Commodore Amiga */#endif#ifndef OSK# define OSK 0 /* OS-9 / 68k */#endif#ifndef COHERENT# define COHERENT 0 /* Coherent */#endif#ifndef RAINBOW /* DEC Rainbow support, under MS-DOS */# define RAINBOW 0#endif#ifndef VMS# define VMS 0 /* VAX/VMS */#endif /* Minix has no predefines */#if !BSD && !UNIXV && !UNIX7 && !MSDOS && !TOS && !AMIGA && !OSK && !COHERENT && !VMS# define MINIX 1#else# define MINIX 0#endif /* generic combination of Unices */#if UNIXV || UNIX7 || BSD || MINIX || COHERENT# define ANY_UNIX 1#else# define ANY_UNIX 0#endif/*************************** compilers **************************************/ #ifndef AZTEC_C# define AZTEC_C 0#endif#ifndef MICROSOFT# define MICROSOFT 0#endif#ifndef TURBOC# define TURBOC 0#endif/******************************* Credit ************************************/#if MSDOS# define CREDIT "Ported to MS-DOS by Guntram Blohm & Martin Patzel"# if RAINBOW# define CREDIT2 "Rainbow support added by Willett Kempton"# endif#endif#if AMIGA# define CREDIT "Ported to AmigaDOS 2.04 by Mike Rieser & Dale Rahn"#endif#if TOS# define CREDIT "Ported to Atari/TOS by Guntram Blohm & Martin Patzel"#endif#if OSK# define CREDIT "Ported to Microware OS9/68k by Peter Reinig"#endif#if COHERENT# define CREDIT "Ported to Coherent by Esa Ahola"#endif#if VMS# define CREDIT "Ported to VAX/VMS by John Campbell"#endif/*************************** functions depending on OS *********************//* There are two terminal-related functions that we need: ttyread() and * ttywrite(). The ttyread() function implements read-with-timeout and is * a true function on all systems. The ttywrite() function is almost always * just a macro... */#if !TOS && !AMIGA# define ttywrite(buf, len) write(1, buf, (unsigned)(len)) /* raw write */#endif/* The strchr() function is an official standard now, so everybody has it * except Unix version 7 (which is old) and BSD Unix (which is academic). * Those guys use something called index() to do the same thing. */#if BSD || UNIX7 || OSK# define strchr index#endifextern char *strchr();/* BSD uses bcopy() instead of memcpy() */#if BSD# define memcpy(dest, src, siz) bcopy(src, dest, siz)#endif/* BSD uses getwd() instead of getcwd(). The arguments are a little different, * but we'll ignore that and hope for the best; adding arguments to the macro * would mess up an "extern" declaration of the function. */#if BSD || COHERENT# define getcwd getwd#endifextern char *getcwd();/* text versa binary mode for read/write */#if !TOS#define tread(fd,buf,n) read(fd,buf,(unsigned)(n))#define twrite(fd,buf,n) write(fd,buf,(unsigned)(n))#endif/**************************** Compiler quirks *********************************//* the UNIX version 7 and (some) TOS compilers, don't allow "void" */#if UNIX7 || TOS# define void int#endif/* as far as I know, all compilers except version 7 support unsigned char *//* NEWFLASH: the Minix-ST compiler has subtle problems with unsigned char */#if UNIX7 || MINIX# define UCHAR(c) ((c) & 0xff)# define uchar char#else# define UCHAR(c) ((unsigned char)(c))# define uchar unsigned char#endif/* Some compilers prefer to have malloc declared as returning a (void *) */#if BSD || AMIGAextern void *malloc();#elseextern char *malloc();#endif/* everybody but Amiga wants lseek declared here */#if !AMIGAextern long lseek();#endif/******************* Names of files and environment vars **********************/#if ANY_UNIX# ifndef TMPDIR# if MINIX# define TMPDIR "/usr/tmp" /* Keep elvis' temp files off RAM disk! */# else# define TMPDIR "/tmp" /* directory where temp files live */# endif# endif# ifndef PRSVDIR# define PRSVDIR "/usr/preserve" /* directory where preserved file live */# endif# ifndef PRSVINDEX# define PRSVINDEX "/usr/preserve/Index" /* index of files in PRSVDIR */# endif# ifndef EXRC# define EXRC ".exrc" /* init file in current directory */# endif# define SCRATCHOUT "%s/soXXXXXX" /* temp file used as input to filter */# ifndef SHELL# define SHELL "/bin/sh" /* default shell */# endif# if COHERENT# ifndef REDIRECT# define REDIRECT ">" /* Coherent CC writes errors to stdout */# endif# endif#endif#if AMIGA /* Specify AMIGA environment */# ifndef CC_COMMAND# define CC_COMMAND "cc" /* generic C compiler */# endif# ifndef COLON# define COLON ':' /* Amiga files can also end in `:' */# endif# ifndef SYSEXRC# define SYSEXRC "S:" EXRC /* name of ".exrc" file in system dir */# endif# ifndef MAXRCLEN# define MAXRCLEN 2048 /* max size of a .exrc file */# endif# ifndef NBUFS# define NBUFS 10 /* must be at least 3 -- more is better */# endif# ifndef NEEDSYNC# define NEEDSYNC TRUE /* assume ":se sync" by default */# endif# ifndef PRSVDIR# define PRSVDIR "Elvis:" /* directory where preserved file live */# endif# ifndef PRSVINDEX# define PRSVINDEX "Elvis:Index" /* index of files in PRSVDIR */# endif# ifndef REDIRECT# define REDIRECT ">" /* Amiga writes errors to stdout */# endif# ifndef SCRATCHIN# define SCRATCHIN "%sSIXXXXXX"# endif# ifndef SCRATCHOUT# define SCRATCHOUT "%sSOXXXXXX"# endif# ifndef SHELL# define SHELL "newshell" /* default shell */# endif# ifndef TERMTYPE# define TERMTYPE "amiga" /* default termtype */# endif# ifndef TMPDIR /* for AMIGA should end in `:' or `/' */# define TMPDIR "T:" /* directory where temp files live */# endif# ifndef TMPNAME# define TMPNAME "%selv_%x.%x" /* format of names for temp files */# endif#endif#if MSDOS || TOS/* do not change TMPNAME and SCRATCH*: they MUST begin with '%s\\'! */# ifndef TMPDIR# define TMPDIR "C:\\tmp" /* directory where temp files live */# endif# ifndef PRSVDIR# define PRSVDIR "C:\\preserve" /* directory where preserved file live */# endif# ifndef PRSVINDEX# define PRSVINDEX "C:\\preserve\\Index" /* index of files in PRSVDIR */# endif# define TMPNAME "%s\\elv_%x.%x" /* temp file */# if MSDOS# if MICROSOFT# define CC_COMMAND "cl -c" /* C compiler */# else# if __BORLANDC__ /* Borland C */# define CC_COMMAND "bcc" /* C compiler */# else# if TURBOC /* Turbo C */# define CC_COMMAND "tcc" /* C compiler */# endif /* TURBOC */# endif /* BORLANDC */# endif /* MICROSOFT */# endif /* MSDOS */# define SCRATCHIN "%s\\siXXXXXX" /* DOS ONLY - output of filter program */# define SCRATCHOUT "%s\\soXXXXXX" /* temp file used as input to filter */# define SLASH '\\'# ifndef SHELL# if TOS# define SHELL "shell.ttp" /* default shell */# else# define SHELL "command.com" /* default shell */# endif# endif# define NEEDSYNC TRUE /* assume ":se sync" by default */# if TOS && __GNUC__ /* probably on other systems, too */# define REDIRECT "2>" /* GNUC reports on 2, others on 1 */# define CC_COMMAND "gcc -c"# else# define REDIRECT ">" /* shell's redirection of stderr */# endif#endif#if VMS/* do not change TMPNAME, and SCRATCH*: they MUST begin with '%s\\'! */# ifndef TMPDIR# define TMPDIR "sys$scratch:" /* directory where temp files live */# endif# define TMPNAME "%selv_%x.%x;1" /* temp file */# define SCRATCHIN "%ssiXXXXXX" /* DOS ONLY - output of filter program */# define SCRATCHOUT "%ssoXXXXXX" /* temp file used as input to filter */# define SLASH '\:' /* Worry point... jdc */# ifndef SHELL# define SHELL "" /* default shell */# endif# define REDIRECT ">" /* shell's redirection of stderr */# define tread(fd,buf,n) vms_read(fd,buf,(unsigned)(n))# define close vms_close# define lseek vms_lseek# define unlink vms_delete# define delete __delete /* local routine conflicts w/VMS rtl routine. */# define rpipe vms_rpipe# define rpclose vms_rpclose# define ttyread vms_ttyread/* There is no sync() on vms */# define sync()/* jdc -- seems VMS external symbols are case insensitive */# define m_fWord m_fw_ord# define m_bWord m_bw_ord# define m_eWord m_ew_ord# define m_Nsrch m_n_srch# define m_Fch m_f_ch# define m_Tch m_t_ch# define v_Xchar v_x_char/* jdc -- also, braindead vms curses always found by linker. */# define LINES elvis_LINES# define COLS elvis_COLS# define curscr elvis_curscr# define stdscr elvis_stdscr# define initscr elvis_initscr# define endwin elvis_endwin# define wrefresh elvis_wrefresh#endif#if OSK# ifndef TMPDIR# define TMPDIR "/dd/tmp" /* directory where temp files live */# endif# ifndef PRSVDIR# define PRSVDIR "/dd/usr/preserve" /* directory where preserved file live */# endif# ifndef PRSVINDEX# define PRSVINDEX "/dd/usr/preserve/Index" /* index of files in PRSVDIR */# endif# ifndef CC_COMMAND# define CC_COMMAND "cc -r" /* name of the compiler */# endif# ifndef EXRC# define EXRC ".exrc" /* init file in current directory */# endif# define SCRATCHOUT "%s/soXXXXXX" /* temp file used as input to filter */# ifndef SHELL# define SHELL "shell" /* default shell */# endif# define FILEPERMS (S_IREAD|S_IWRITE) /* file permissions used for creat() */# define REDIRECT ">>-" /* shell's redirection of stderr */# define sync() /* OS9 doesn't need a sync() */#endif#ifndef TAGS# define TAGS "tags" /* name of the tags file */#endif#ifndef TMPNAME# define TMPNAME "%s/elv_%x.%x" /* format of names for temp files */#endif#ifndef EXINIT# define EXINIT "EXINIT" /* name of EXINIT environment variable */#endif#ifndef EXRC# define EXRC "elvis.rc" /* name of ".exrc" file in current dir */#endif#ifndef HMEXRC# define HMEXRC EXRC /* name of ".exrc" file in home dir */#endif#ifndef KEYWORDPRG# define KEYWORDPRG "ref"#endif#ifndef SCRATCHOUT# define SCRATCHIN "%s/SIXXXXXX"# define SCRATCHOUT "%s/SOXXXXXX"#endif#ifndef ERRLIST# define ERRLIST "errlist"#endif#ifndef SLASH# define SLASH '/'#endif#ifndef SHELL# define SHELL "shell"#endif#ifndef REG# define REG register#endif#ifndef NEEDSYNC# define NEEDSYNC FALSE#endif#ifndef FILEPERMS# define FILEPERMS 0666#endif#ifndef PRESERVE# define PRESERVE "elvprsv" /* name of the "preserve" program */#endif#ifndef CC_COMMAND# define CC_COMMAND "cc -c"#endif#ifndef MAKE_COMMAND# define MAKE_COMMAND "make"#endif#ifndef REDIRECT# define REDIRECT "2>"#endif#ifndef BLKSIZE# ifdef CRUNCH# define BLKSIZE 1024# else# define BLKSIZE 2048# endif#endif#ifndef KEYBUFSIZE# define KEYBUFSIZE 1000#endif#endif /* ndef _CONFIG_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -