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

📄 tailor.h

📁 汇编大全 中国矿业大学计算机学院 汇编实验5
💻 H
字号:
/* tailor.h -- Not copyrighted 1993 Mark Adler *//* Define MSDOS for Turbo C and Power C */#ifdef __POWERC#  define __TURBOC__#  define MSDOS#endif /* __POWERC */#if (defined(__MSDOS__) && !defined(MSDOS))#  define MSDOS#endif#ifdef ATARI_ST#  undef MSDOS   /* avoid the MS-DOS specific includes */#endif/* Use prototypes and ANSI libraries if _STDC__, or Microsoft or Borland C, * or Silicon Graphics, or IBM C Set/2, or Watcom C, or GNU gcc under emx. */#if defined(__STDC__) || defined(MSDOS) || defined(ATARI_ST) || defined(sgi)#  ifndef PROTO#    define PROTO#  endif /* !PROTO */#  define MODERN#endif#if defined(__IBMC__) || defined(__EMX__) || defined(__WATCOMC__)#  ifndef PROTO#    define PROTO#  endif /* !PROTO */#  define MODERN#endif#if defined(__BORLANDC__) || (defined(__alpha) && defined(VMS))#  ifndef PROTO#    define PROTO#  endif /* !PROTO */#  define MODERN#endif#ifdef __IBMC__#  define S_IFMT 0xF000#endif /* __IBMC__ */#if defined(__EMX__) || defined(__WATCOMC__) || defined(__BORLANDC__)#  if (defined(OS2) && !defined(__32BIT__))#    define __32BIT__#  endif#endif#if (defined(__OS2__) && !defined(OS2))#  define OS2#endif#ifdef __convexc__#       define CONVEX#endif /* __convexc__ */#ifdef __COMPILER_KCC__#  define TOPS20#  define NOPROTO#  define NO_SYMLINK#  define NO_TERMIO#  define DIRENT#  define BIG_MEM  extern int isatty();# define window_size winsiz#endif/* Turn off prototypes if requested */#if (defined(NOPROTO) && defined(PROTO))#  undef PROTO#endif/* Used to remove arguments in function prototypes for non-ANSI C */#ifdef PROTO#  define OF(a) a#else /* !PROTO */#  define OF(a) ()#endif /* ?PROTO *//* Avoid using const if compiler does not support it */#ifndef MODERN  /* if this fails, try: ifndef__STDC__ */#  define const#endif#ifdef MACOS#  define DYN_ALLOC#endif#if (defined(MSDOS) && !defined(__GO32__) && !defined(WIN32))#  ifdef __TURBOC__#    include <alloc.h>#    define DYN_ALLOC     /* Turbo C 2.0 does not accept static allocations of large arrays */     void far * fcalloc OF((unsigned items, unsigned size));     void fcfree (void *ptr);#  else /* !__TURBOC__ */#    include <malloc.h>#    define farmalloc _fmalloc#    define farfree   _ffree#    define fcalloc(nitems,itemsize) halloc((long)(nitems),(itemsize))#    define fcfree(ptr) hfree((void huge *)(ptr))#  endif /* ?__TURBOC__ */#else /* !MSDOS */#  if defined(WIN32)#    include <malloc.h>#  endif#  ifdef __WATCOMC__#    undef huge#    undef far#    undef near#  endif#  ifndef __IBMC__#    define huge#    define far#    define near#  endif#  define farmalloc malloc#  define farfree   free#  define fcalloc(items,size) calloc((unsigned)(items), (unsigned)(size))#  define fcfree    free#  if (!defined(PROTO) && !defined(TOPS20))     extern char *calloc(); /* essential for 16 bit systems (AT&T 6300) */#  endif#endif /* ?MSDOS */#if (defined(OS2) && !defined(MSDOS))/* MSDOS is defined anyway with MS C 16-bit. So the block above works. * For the 32-bit compilers, MSDOS must not be defined in the block above. */#  define MSDOS/* inherit MS-DOS file system etc. stuff */#endif    /* Define MSVMS if MSDOS or VMS defined -- ATARI also does, Amiga could */#if defined(MSDOS) || defined(VMS)#  define MSVMS#endif/* case mapping functions. case_map is used to ignore case in comparisons, * to_up is used to force upper case even on Unix (for dosify option). */#if defined(MSDOS) || defined(VMS) || defined(OS2) || defined(WIN32) || defined(AMIGA)#  define case_map(c) upper[(c) & 0xff]#  define to_up(c)    upper[(c) & 0xff]#else#  define case_map(c) (c)#  define to_up(c)    ((c) >= 'a' && (c) <= 'z' ? (c)-'a'+'A' : (c))#endif/* Define void, voidp, and extent (size_t) */#include <stdio.h>#ifdef MODERN#  if (!defined(M_XENIX) && !(defined(__GNUC__) && defined(sun)))#    include <stddef.h>#  endif /* !M_XENIX */#  include <stdlib.h>#  if defined(SYSV) || defined(__386BSD__)#    include <unistd.h>#  endif   typedef size_t extent;   typedef void voidp;#else /* !MODERN */   typedef unsigned int extent;#  define void int   typedef char voidp;#endif /* ?MODERN *//* Get types and stat */#ifdef VMS#  include <types.h>#  include <stat.h>#  define unlink delete#  define NO_SYMLINK#  define SSTAT vms_stat#else /* !VMS */#  ifdef MACOS#    include <types.h>#    include <stddef.h>#    include <Files.h>#    include <StandardFile.h>#    include <Think.h>#    include <LoMem.h>#    include <Pascal.h>#    include "macstat.h"#    define NO_SYMLINK#  else#    ifdef ATARI_ST#      include <ext.h>#      include <tos.h>#    else#      ifdef AMIGA         int wild OF((char *));         /* default to MEDIUM_MEM, but allow makefile override */#        if ( (!defined(BIG_MEM)) && (!defined(SMALL_MEM)))#           define MEDIUM_MEM#        endif#        if defined(LATTICE) || defined(__SASC)#        include <sys/types.h>#          include <sys/stat.h>           extern int isatty(int);   /* SAS has no unistd.h */#      endif#        ifdef AZTEC_C#          include "amiga/z-stat.h"#          define RMDIR#        endif#      else /* !AMIGA */#        include <sys/types.h>#      include <sys/stat.h>#    endif#  endif#  endif#endif /* ?VMS *//* Some systems define S_IFLNK but do not support symbolic links */#if defined (S_IFLNK) && defined(NO_SYMLINK)#  undef S_IFLNK#endif/* For Pyramid */#ifdef pyr#  define strrchr rindex#  define ZMEM#endif /* pyr *//* File operations--use "b" for binary if allowed or fixed length 512 on VMS */#ifdef VMS#  define FOPR  "r","ctx=stm"#  define FOPM  "r+","ctx=stm","rfm=fix","mrs=512"#  define FOPW  "w","ctx=stm","rfm=fix","mrs=512"#else /* !VMS */#  if defined(MODERN)#    define FOPR "rb"#    define FOPM "r+b"#    ifdef TOPS20 /* TOPS20 MODERN? You kidding? */#      define FOPW "w8"#    else#      define FOPW "wb"#    endif#  else /* !MODERN */#    ifdef AMIGA#      define FOPR "rb"#      define FOPM "rb+"#      define FOPW "wb"#    else /* !AMIGA */#    define FOPR "r"#    define FOPM "r+"#    define FOPW "w"#    endif /* ?AMIGA */#  endif /* ?MODERN */#endif /* VMS *//* Open the old zip file in exclusive mode if possible (to avoid adding * zip file to itself). */#ifdef OS2#  define FOPR_EX FOPM#else#  define FOPR_EX FOPR#endif/* Define this symbol if your target allows access to unaligned data. * This is not mandatory, just a speed optimization. The compressed * output is strictly identical. */#if (defined(MSDOS) && !defined(WIN32)) || defined(i386)#    define UNALIGNED_OK#endif#if defined(mc68020) || defined(vax)#    define UNALIGNED_OK#endif/* Under MSDOS we may run out of memory when processing a large number * of files. Compile with MEDIUM_MEM to reduce the memory requirements or * with SMALL_MEM to use as little memory as possible. */#ifdef SMALL_MEM#   define CBSZ 2048 /* buffer size for copying files */#   define ZBSZ 2048 /* buffer size for temporary zip file */#else# ifdef MEDIUM_MEM#   define CBSZ 8192#   define ZBSZ 8192# else#  ifdef OS2#   ifdef __32BIT__#     define CBSZ 0x40000#     define ZBSZ 0x40000#   else#     define CBSZ 0xE000#     define ZBSZ 0x7F00 /* Some libraries do not allow a buffer size > 32K */#   endif#  else#   ifdef TOPS20#    define CBSZ 524288#    define ZBSZ 524288#   else#    define CBSZ 16384#    define ZBSZ 16384#   endif#  endif# endif#endif#if (defined(BIG_MEM) || defined(MMAP)) && !defined(DYN_ALLOC)#   define DYN_ALLOC#endif#ifdef __human68k__#  include <sys/xglob.h>#  define MSVMS#  define SSTAT h68_stat  int h68_stat OF((char *, struct stat *));#  define OS_CODE  0x300  /* pretend it's Unix */#endif#ifdef ATARI_ST#  define MSDOS  /* what? should be fixed */#  define MSVMS#  ifndef O_BINARY#    define O_BINARY 0#  endif#  ifndef S_IFMT#    define S_IFMT        (S_IFCHR|S_IFREG|S_IFDIR)#  endif/* a whole bunch of functions needs Tos '\\' filenames * instead of '/',  the translation functions are in fileio.c: */#  define unlink    st_unlink#  define chmod     st_chmod#  define mktemp    st_mktemp#  define fopen     st_fopen#  define open      st_open#  define SSTAT     st_stat#  define findfirst st_findfirst#  define link      st_rename#  define rmdir     st_rmdir  int st_unlink    OF((char *));  int st_chmod     OF((char *, int));  char *st_mktemp  OF((char *));  FILE *st_fopen   OF((char *, char *));  int st_open      OF((char *, int));  int st_stat      OF((char *, struct stat *));  int st_findfirst OF((char *, struct ffblk *, int));  int st_rename    OF((char *, char *));  int st_rmdir     OF((char *));#endif  /* ATARI */#ifndef SSTAT#  define SSTAT      stat#endif#ifdef S_IFLNK#  define LSTAT      lstat#else#  define LSTAT      SSTAT#endif   /* The following OS codes are defined in pkzip appnote.txt */#ifdef AMIGA#  define OS_CODE  0x100#endif#ifdef VMS#  define OS_CODE  0x200#endif/* unix    3 *//* vms/cms 4 */#ifdef ATARI_ST#  define OS_CODE  0x500#endif#ifdef OS2#  define OS_CODE  0x600#endif#ifdef MACOS#  define OS_CODE  0x700#endif/* z system 8 *//* cp/m     9 */#ifdef TOPS20#  define OS_CODE  0xa00#endif#ifdef WIN32#  define OS_CODE  0xb00#endif/* qdos 12 */#if defined(MSDOS) && !defined(OS_CODE)#  define OS_CODE  0x000#endif#ifndef OS_CODE#  define OS_CODE  0x300  /* assume Unix */#  ifndef UNIX#    define UNIX#  endif#endif/* end of tailor.h */

⌨️ 快捷键说明

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