⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysdep.h

📁 早期freebsd实现
💻 H
字号:
/*************************************************************************** * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE * * is provided to you without charge, and with no warranty.  You may give  * * away copies of JOVE, including sources, provided that this notice is    * * included in all the files.                                              * ***************************************************************************//* Determine if really ANSI C */#ifdef	__STDC__# if	__STDC__ >= 0#  define REALSTDC 1# endif#endif#ifdef	THINK_C# define MAC 1/* Think C does not have a "defined" preprocessor operator. * This kludge is intended to avoid the problem. * ??? Perhaps Think C has been fixed by now. -- DHR */# define defined(x) (x)  typedef int size_t;#endif/* The operating system (MSDOS or MAC) must be defined by this point.   IBMPC is defined in the Makefile. */#ifndef	MSDOS# ifndef	MAC#   define UNIX	1	/* default to UNIX */# endif#endif#ifdef	MAC# define byte_zero(s,n) setmem((s),(n),0)# define NBUF 64# define JBUFSIZ 1024#endif#ifdef	MSDOS# ifdef	M_I86LM		/* large memory model */#  define NBUF 		64# else#  define NBUF 		3#  define SMALL		1# endif# define JBUFSIZ		512		/* or 1024 */#endif#ifdef	UNIX# ifdef	pdp11#  define SMALL	1#  define JBUFSIZ	512	/* or 1024 */#  define NBUF		3# else#  define VMUNIX	1	/* Virtual Memory UNIX */#  define JBUFSIZ	1024#  ifdef	iAPX286#   define NBUF		48	/* NBUF*JBUFSIZ must be less than 64 kB */#  else#   define NBUF	64	/* number of disk buffers */#  endif	/* iAPX286 */# endif#endif#ifdef	SVR3# define SYSVR3		1	/* system 5, rel. 3 */#endif#ifdef	SVR2# define SYSVR2		1	/* system 5, rel. 2 */#endif#ifdef	BSD# define BSD4_2		1	/* Berkeley 4.2 BSD or later */#endif#if	defined(sun) || defined(__sun__)# define BSD4_2	1	/* True enough for Jove's purposes *//* # define YP_PASSWD	1	/* if you are a sun running the yellow pages */# ifdef	SUNOS4	/* gone to void */#  define TERMIOS	1	/* uses termio struct for terminal modes */#  define DIRENT	1	/* Posix style dirent.h */#  define SIGRESULT	void#  define SIGRETURN	{ return; }#ifdef GCC#  define POSIX_UNISTD	1	/* prototypes in unistd.h, don't use our own */#endif# endif#endif#if	defined(BSD386)# define BSD4_2	1	/* True enough for Jove's purposes */#  define TERMIOS	1	/* uses termio struct for terminal modes */#  define DIRENT	1	/* Posix style dirent.h */#  define SIGRESULT	void#  define SIGRETURN	{ return; }#  define POSIX_UNISTD	1	/* prototypes in unistd.h, don't use our own */#endif#define KILL0		1	/* kill(pid, 0) returns 0 if proc exists */#if	defined(ultrix) || defined(__ultrix__)# define ULTRIX	1# define BSD4_2		1	/* True enough for Jove's purposes */# define SIGRESULT  void# define SIGRETURN  {return;}#endif/* M_XENIX is defined by the Compiler *//* SYSV should be defined for (System III/System V) UNIX systems */#ifdef SYSVR4# define SYSVR3		1# define DIRENT		1	/* Posix style dirent.h */# define POSIX_UNISTD	1	/* prototypes in unistd.h, don't use our own */#endif#ifdef	SYSVR3# ifndef	SYSVR2#  define SYSVR2	1	/* SYSVR2 is a subset of SYSVR3 */# endif# define	SIGRESULT	void# define	SIGRETURN	{ return; }# ifndef	SYSVR4#  define	SIGCHLD		SIGCLD# endif#endif#ifdef	SYSVR2# ifndef	SYSV#  define SYSV	1	/* SYSV is a subset of SYSVR2 */# endif#endif#ifdef	M_XENIX# define iAPX286 1	/* we have segments */# define BSD_DIR	1#endif#if defined(SYSTYPE_BSD43) || defined(__SYSTYPE_BSD43)# define BSD4_2		1	/* RISCOS4.x on MIPS */#endif#ifdef	BSD4_2# define byte_copy(from, to, len)	bcopy((UnivConstPtr)(from), (UnivPtr)(to), (size_t)(len))# define byte_zero(s, n)	bzero((UnivPtr)(s), (size_t)(n))# define strchr	index# define strrchr	rindex# define BSD_SIGS	1	/* Berkeley style signals */# define BSD_WAIT	1	/* Berkeley style sys/wait.h */# define WAIT3		1	/* Berkeley style wait3() */# define BSD_DIR	1	/* Berkeley style dirent routines */# define VFORK		1	/* if you have vfork(2) */# define JOB_CONTROL	1	/* if you have job stopping */# define MENLO_JCL	1# define HAVE_GETWD	1	/* have the getwd() routine */# ifndef TERMIOS# define SGTTY		1	/* uses SGTTY for terminal modes */#endif#endif#ifdef	A_UX		/* A/UX on a MacII (Do *not* define "MAC") *//* It might be better to define POSIX compatibility and try that. Oh well! */# define BSD_WAIT	1	/* Berkeley style sys/wait.h */# define BSD_DIR	1	/* Berkeley style dirent routines */# define WAIT3		1	/* Berkeley style wait3() */# define BSD_SIGS	1	/* Berkeley style signals */# define SYSV		1	/* System V everything else */# define TERMIO	1	/* uses termio struct for terminal modes */#endif#ifdef AIX	/* from guttman@mashie.ece.jhu.edu via buchanan@cs.ubc.ca */# define BSD_DIR# define HAVE_GETWD# define SYSV# define TERMIO	1	/* uses termio struct for terminal modes */#endif#if	(defined(mips) || defined(__mips__)) && !defined(BSD4_2)/* * Older MIPS (UMIPS-SYSV, anything other than their 4.3 port before * RISCOS4.x) and SGI 4D OSes (anything before Irix3.3) have BSD style wait, * and directory routines if you link -lbsd and define -I/usr/include/bsd on * the compile line. But they have SysV style signals.  Jove was ported to the * SGI 68K boxes once, but it the mods seem to have been lost. */# ifndef	ULTRIX   /* Not a DECstation 3100 or suchlike */#  define BSD_WAIT	1	/* Berkeley style sys/wait.h */#  define BSD_DIR	1	/* Berkeley style dirent routines */# else#  undef ULTRIX		1	/* Only needed it for this test */# endif# if	defined(sgi) || defined(__sgi__)#  define WAIT3		1	/* Berkeley style wait3() */#  define JOB_CONTROL	1	/* if you have job stopping */#  define HAVE_GETWD	1   /* All the following are for Irix 3.3 onwards */#  define BSD_SIGS	1	/* Berkeley style signals */#  define DIRENT	1	/* Posix style dirent.h */#  define TERMIOS	1	/* new Posix terminal mode management */#  ifndef REALSTDC#   define REALSTDC	1	/* close enough for Jove's needs */#  endif#  define HAVE_STRERROR	1	/* have ANSI strerror() */#  define POSIX_UNISTD	1	/* prototypes in unistd.h, don't use our own */#  define SIGRESULT	void#  define SIGRETURN	{ return; }#  undef SIGCHLD		/* #define SIGCHLD SIGCLD in signal.h */# endif#endif#ifndef	BSD4_2# define KBDSIG		SIGEMT#endif#if	defined(SYSV) || defined(MSDOS) || defined(M_XENIX)# include <memory.h># define byte_copy(from, to, count)	memcpy((UnivPtr)(to), (UnivConstPtr)(from), (size_t)(count))# define byte_zero(s, n)		memset((UnivPtr)(s), 0, (size_t)(n))#endif#ifdef	UNIX# define TERMCAP	1# define ASCII7	1#endif#ifdef	ASCII7	/* seven bit characters */# define NCHARS 0200#else# define NCHARS 0400#endif#define CHARMASK (NCHARS - 1)#ifndef	MSDOS# define FILESIZE	256#else	/* MSDOS */# define FILESIZE	64#endif	/* MSDOS */#ifndef	SIGRESULT	/* default to old-style */# define	SIGRESULT	int# define	SIGRETURN	{ return 0; }#endif#ifndef	BSD4_2# ifdef	MENLO_JCL#  define signal	sigset# endif	/* MENLO_JCL */#endif#ifdef	BSD_SIGSextern long	SigMask;# define SigHold(s)	sigblock(SigMask |= sigmask((s)))# define SigRelse(s)	sigsetmask(SigMask &= ~sigmask((s)))#else# define SigHold(s)	sighold(s)# define SigRelse(s)	sigrelse(s)# define killpg(pid, sig)	kill(-(pid), (sig))#endif/* On a system which limits JOVE to a very small data segment, * it may be worthwhile limiting daddr to a short.  This reduces * the size of a Line descriptor, but reduces the addressable size * of the temp file.  This is reasonable on a PDP-11 and perhaps * an iAPX*86. */#ifdef	SMALL  typedef unsigned short	daddr;#else  typedef unsigned long	daddr;#endif	/* SMALL */#define	NULL_DADDR		((daddr) 0)#if !defined(TERMIOS) && !defined(SGTTY)# define TERMIO	1	/* uses termio struct for terminal modes */#endif#ifdef SYSV# define MAILSPOOL "/usr/mail"#else# define MAILSPOOL "/usr/spool/mail"#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -