📄 ckcdeb.h
字号:
/* C K C D E B . H *//* Thu Dec 30 10:49:22 1999 NOTE TO CONTRIBUTORS: This file, and all the other C-Kermit files, must be compatible with C preprocessors that support only #ifdef, #else, #endif, #define, and #undef. Please do not use #if, logical operators, or other preprocessor features in any of the portable C-Kermit modules. You can, of course, use these constructions in system-specific modules when you they are supported.*//* This file is included by all C-Kermit modules, including the modules that aren't specific to Kermit (like the command parser and the ck?tio and ck?fio modules). It should be included BEFORE any other C-Kermit header files. It specifies format codes for debug(), tlog(), and similar functions, and includes any necessary definitions to be used by all C-Kermit modules, and also includes some feature selection compile-time switches, and also system- or compiler-dependent definitions, plus #includes and prototypes required by all C-Kermit modules.*//* Author: Frank da Cruz <fdc@columbia.edu>, Columbia University Academic Information Systems, New York City. Copyright (C) 1985, 2000, Trustees of Columbia University in the City of New York. All rights reserved. See the C-Kermit COPYING.TXT file or the copyright text in the ckcmai.c module for disclaimer and permissions.*//* Etymology: The name of this file means "C-Kermit Common-C-Language Debugging Header", because originally it contained only the formats (F000-F111) for the debug() and tlog() functions. See how it has grown...*/#ifndef CKCDEB_H /* Don't include me more than once. */#define CKCDEB_H#ifdef MACOSX10 /* Mac OS X 1.0 */#ifndef MACOSX /* implies Mac OS X */#define MACOSX#endif /* MACOSX */#endif /* MACOSX10 */#ifdef MACOSX /* Mac OS X */#ifndef BSD44 /* implies 4.4 BSD */#define BSD44#endif /* BSD44 */#endif /* MACOSX */#ifdef SCO_OSR505 /* SCO 3.2v5.0.5 */#ifndef SCO_OSR504 /* implies SCO 3.2v5.0.4 */#define SCO_OSR504#endif /* SCO_OSR504 */#endif /* SCO_OSR505 */#ifdef SCO_OSR504 /* SCO 3.2v5.0.4 */#ifndef CK_SCOV5 /* implies SCO 3.2v5.0 */#define CK_SCOV5#endif /* CK_SCOV5 */#include <sys/types.h> /* To sidestep header-file mess */#endif /* SCO_OSR504 */#ifdef CK_SCO32V4 /* SCO 3.2v4 */#ifndef XENIX#define XENIX#endif /* XENIX */#ifndef SVR3#define SVR3#endif /* SVR3 */#ifndef DIRENT#define DIRENT#endif /* DIRENT */#ifndef RENAME#define RENAME#endif /* RENAME */#ifndef SVR3JC#define SVR3JC#endif /* SVR3JC */#ifndef CK_RTSCTS#define CK_RTSCTS#endif /* CK_RTSCTS */#ifndef PID_T#define PID_T pid_t#endif /* PID_T */#ifndef PWID_T#define PWID_T int#endif /* PWID_T */#endif /* CK_SCO32V4 */#ifdef NOICP /* If no command parser */#ifndef NOSPL /* Then no script language either */#define NOSPL#endif /* NOSPL */#ifndef NOCSETS /* Or characer sets */#define NOCSETS#endif /* NOCSETS */#endif /* NOICP *//* Features that can be eliminated from a no-file-transfer version */#ifdef NOXFER#ifndef NOCURSES /* Fullscreen file-transfer display */#define NOCURSES#endif /* NOCURSES */#ifndef NOCKXYZ /* XYZMODEM support */#define NOCKXYZ#endif /* NOCKXYZ */#ifndef NOCKSPEED /* Ctrl-char unprefixing */#define NOCKSPEED#endif /* NOCKSPEED */#ifndef NOSERVER /* Server mode */#define NOSERVER#endif /* NOSERVER */#ifndef NOCKTIMERS /* Dynamic packet timers */#define NOCKTIMERS#endif /* NOCKTIMERS */#ifndef NOPATTERNS /* File-type patterns */#define NOPATTERNS#endif /* NOPATTERNS */#ifndef NOSTREAMING /* Streaming */#define NOSTREAMING#endif /* NOSTREAMING */#ifndef NOIKSD /* Internet Kermit Service */#define NOIKSD#endif /* NOIKSD */#ifndef NOPIPESEND /* Sending from pipes */#define NOPIPESEND#endif /* NOPIPESEND */#ifndef NOAUTODL /* Autodownload */#define NOAUTODL#endif /* NOAUTODL */#ifndef NOMSEND /* MSEND */#define NOMSEND#endif /* NOMSEND */#ifndef NOTLOG /* Transaction logging */#define NOTLOG#endif /* NOTLOG */#ifndef NOCKXXCHAR /* Packet character doubling */#define NOCKXXCHAR#endif /* NOCKXXCHAR */#endif /* NOXFER */#ifdef NOICP /* No Interactive Command Parser */#ifndef NODIAL /* Implies No DIAL command */#define NODIAL#endif /* NODIAL */#ifndef NOCKXYZ /* and no external protocols */#define NOCKXYZ#endif /* NOCKXYZ */#endif /* NOICP *//* Features that can be eliminated from a remote-only version */#ifdef NOLOCAL#ifndef NOCURSES /* Fullscreen file-transfer display */#define NOCURSES#endif /* NOCURSES */#ifndef NODIAL#define NODIAL#endif /* NODIAL */#ifndef NOSCRIPT#define NOSCRIPT#endif /* NOSCRIPT */#ifndef NOAPC#define NOAPC#endif /* NOAPC */#ifndef NOSETKEY#define NOSETKEY#endif /* NOSETKEY */#ifndef NOXMIT#define NOXMIT#endif /* NOXMIT */#ifdef CK_CURSES#undef CK_CURSES#endif /* CK_CURSES */#ifndef NONET#define NONET#endif /* NONET */#endif /* NOLOCAL */#ifdef NONET#ifdef NETCONN#undef NETCONN#endif /* NETCONN */#ifdef SUNX25#undef SUNX25#endif /* SUNX25 */#ifdef IBMX25#undef IBMX25#endif /* IBMX25 */#ifdef STRATUSX25#undef STRATUSX25#endif /* STRATUSX25 */#ifdef CK_NETBIOS#undef CK_NETBIOS#endif /* CK_NETBIOS */#ifdef SUPERLAT#undef SUPERLAT#endif /* SUPERLAT */#ifdef NPIPE#undef NPIPE#endif /* NPIPE */#ifdef NETFILE#undef NETFILE#endif /* NETFILE */#ifdef NETCMD#undef NETCMD#endif /* NETCMD */#ifdef NETPTY#undef NETPTY#endif /* NETPTY */#ifdef TCPSOCKET#undef TCPSOCKET#endif /* TCPSOCKET */#ifdef NOTCPOPTS#undef NOTCPOPTS#endif /* NOTCPOPTS */#ifdef RLOGCODE#undef RLOGCODE#endif /* RLOGCODE */#ifdef NETDLL#undef NETDLL#endif /* NETDLL */#ifdef SSH#undef SSH#endif /* SSH */#ifndef NOHTTP#define NOHTTP#endif /* NOHTTP */#ifndef NOBROWSER#define NOBROWSER#endif /* NOBROWSER */#endif /* NONET *//* Note that none of the above precludes TNCODE, which can be defined in the absence of TCPSOCKET, etc, to enable server-side Telnet negotation.*/#ifndef TNCODE /* This is for the benefit of */#ifdef TCPSOCKET /* modules that might need TNCODE */#define TNCODE /* not all of ckcnet.h... */#endif /* TCPSOCKET */#endif /* TNCODE */#ifndef NETCONN#ifdef TCPSOCKET#define NETCONN#endif /* TCPSOCKET */#endif /* NETCONN */#ifndef DEFPAR /* Default parity */#define DEFPAR 0 /* Must be here because it is used */#endif /* DEFPAR */ /* by all classes of modules */#ifdef NT#ifndef OS2ORWIN32#define OS2ORWIN32#endif /* OS2ORWIN32 */#ifndef OS2#define WIN32ONLY#endif /* OS2 */#endif /* NT */#ifdef OS2 /* For OS/2 debugging */#ifndef OS2ORWIN32#define OS2ORWIN32#endif /* OS2ORWIN32 */#include "ckoker.h"#ifdef NT#define NOCRYPT#include <windows.h>#define NTSIG#else /* NT */#define OS2ONLY#include <os2def.h>#endif /* NT */#ifndef OS2ORUNIX#define OS2ORUNIX#endif /* OS2ORUNIX */#endif /* OS2 */#include <stdio.h> /* Begin by including this. */#include <ctype.h> /* and this. */#ifdef MAC/* * The MAC doesn't use standard stdio routines. */#undef getchar#define getchar() mac_getchar()#undef putchar#define putchar(c) mac_putchar(c)#define printf mac_printf#define perror mac_perror#define puts mac_putsextern int mac_putchar (int c);extern int mac_puts (const char *string);extern int mac_printf(const char *, ...);extern int mac_getchar (void);#endif /* MAC */#ifdef OS2#define printf Vscrnprintf#define fprintf Vscrnfprintfextern int Vscrnprintf(const char *, ...);extern int Vscrnfprintf(FILE *, const char *, ...);#ifdef putchar#undef putchar#endif /* putchar */#define putchar(x) Vscrnprintf("%c",x)#define perror(x) Vscrnperror(x)#endif /* OS2 *//* System-type compilation switches */#ifdef FT21 /* Fortune For:Pro 2.1 implies 1.8 */#ifndef FT18#define FT18#endif /* FT18 */#endif /* FT21 */#ifdef __bsdi__#ifndef BSDI#define BSDI#endif /* BSDI */#endif /* __bsdi__ */#ifdef AIXPS2 /* AIXPS2 implies AIX370 */#ifndef AIX370#define AIX370#endif /* AIX370 */#endif /* AIXPS2 */#ifdef AIX370 /* AIX PS/2 or 370 implies BSD4 */#ifndef BSD4#define BSD4#endif /* BSD4 */#endif /* AIX370 */#ifdef AIXESA /* AIX/ESA implies BSD4.4 */#ifndef BSD44#define BSD44#endif /* BSD44 */#endif /* AIXESA */#ifdef AIX45 /* AIX45 implies AIX44 */#ifndef AIX44#define AIX44#endif /* AIX44 */#endif /* AIX45 */#ifdef AIX44 /* AIX44 implies AIX43 */#ifndef AIX43#define AIX43#endif /* AIX43 */#endif /* AIX44 */#ifdef AIX43 /* AIX43 implies AIX42 */#ifndef AIX42#define AIX42#endif /* AIX42 */#endif /* AIX43 */#ifdef AIX42 /* AIX42 implies AIX41 */#ifndef AIX41#define AIX41#endif /* AIX41 */#endif /* AIX42 */#ifdef SV68R3V6 /* System V/68 R32V6 implies SVR3 */#ifndef SVR3#define SVR3#endif /* SVR3 */#endif /* SV68R3V6 */#ifdef SV88R32 /* System V/88 R32 implies SVR3 */#ifndef SVR3#define SVR3#endif /* SVR3 */#endif /* SV88R32 */#ifdef DGUX540 /* DG UX 5.40 implies Sys V R 4 */#ifndef SVR4#define SVR4#endif /* SVR4 */#endif /* DGUX540 */#ifndef DGUX#ifdef DGUX540 /* DG/UX 5.40 implies DGUX */#define DGUX#else#ifdef DGUX430 /* So does DG/UX 4.30 */#define DGUX#endif /* DGUX430 */#endif /* DGUX540 */#endif /* DGUX */#ifdef IRIX65 /* IRIX 6.5 implies IRIX 6.4 */#ifndef IRIX64#define IRIX64#endif /* IRIX64 */#endif /* IRIX65 */#ifdef IRIX64 /* IRIX 6.4 implies IRIX 6.2 */#ifndef BSD44ORPOSIX#define BSD44ORPOSIX /* for ckutio's benefit */#endif /* BSD44ORPOSIX */#ifndef IRIX62#define IRIX62#endif /* IRIX62 */#endif /* IRIX64 */#ifdef IRIX62 /* IRIX 6.2 implies IRIX 6.0 */#ifndef IRIX60#define IRIX60#endif /* IRIX60 */#endif /* IRIX62 */#ifdef IRIX60 /* IRIX 6.0 implies IRIX 5.1 */#ifndef IRIX51#define IRIX51#endif /* IRIX51 */#ifndef IRIX52 /* And IRIX 5.2 (for hwfc) */#define IRIX52#endif /* IRIX52 */#endif /* IRIX60 */#ifndef IRIX /* IRIX 4.0 or greater implies IRIX */#ifdef IRIX64#define IRIX#else#ifdef IRIX62#define IRIX#else#ifdef IRIX60#define IRIX#else#ifdef IRIX51#define IRIX#else#ifdef IRIX40#define IRIX#endif /* IRIX40 */#endif /* IRIX51 */#endif /* IRIX60 */#endif /* IRIX62 */#endif /* IRIX64 */#endif /* IRIX */#ifdef SUNOS41 /* SUNOS41 implies SUNOS4 */#ifndef SUNOS4#define SUNOS4#endif /* SUNOS4 */#endif /* SUNOS41 */#ifdef SOLARIS7 /* Solaris 7 implies 2.6 */#ifndef SOLARIS26#define SOLARIS26#endif /* SOLARIS26 */#endif /* SOLARIS7 */#ifdef SOLARIS26 /* Solaris 2.6 implies 2.5 */#ifndef SOLARIS25#define SOLARIS25#endif /* SOLARIS25 */#endif /* SOLARIS26 */#ifdef SOLARIS25#ifndef SOLARIS#define SOLARIS#endif /* SOLARIS */#ifndef POSIX#define POSIX#endif /* POSIX */#endif /* SOLARIS25 */#ifdef SOLARIS24#ifndef SOLARIS#define SOLARIS#endif /* SOLARIS */#endif /* SOLARIS24 */#ifdef SUN4S5 /* Sun-4 System V environment */#ifndef SVR3 /* implies System V R3 or later */#define SVR3#endif /* SVR3 */#endif /* SUN4S5 */#ifdef MIPS /* MIPS System V environment */#ifndef SVR3 /* implies System V R3 or later */#define SVR3#endif /* SVR3 */#endif /* MIPS */#ifdef HPUX9 /* HP-UX 9.x */#ifndef SVR3#define SVR3#endif /* SVR3 */#ifndef HPUX#define HPUX#endif /* HPUX */#ifndef HPUX9PLUS#define HPUX9PLUS#endif /* HPUX9PLUS */#endif /* HPUX9 */#ifdef HPUX10 /* HP-UX 10.x */#ifndef HPUX1010 /* If anything higher is defined */#ifdef HPUX1020 /* define HPUX1010 too. */#define HPUX1010#endif /* HPUX1020 */#ifdef HPUX1030#define HPUX1010#endif /* HPUX1030 */#endif /* HPUX1010 */#ifdef HPUX1100 /* HP-UX 11.00 implies 10.10 */#ifndef HPUX1010#define HPUX1010#endif /* HPUX1010 */#endif /* HPUX1100 */#ifndef SVR4#define SVR4#endif /* SVR4 */#ifndef HPUX#define HPUX#endif /* HPUX */#ifndef HPUX9PLUS#define HPUX9PLUS#endif /* HPUX9PLUS */#endif /* HPUX10 */#ifdef QNX /* QNX Software Systems Inc */#ifndef POSIX /* QNX 4.0 or later is POSIX */#define POSIX#endif /* POSIX */#ifndef __386__ /* Comes in 16-bit and 32-bit */#define __16BIT__#define CK_QNX16#else#define __32BIT__#define CK_QNX32#endif /* __386__ */#endif /* QNX *//* 4.4BSD is a mixture of System V R4, POSIX, and 4.3BSD.*/#ifdef BSD44 /* 4.4 BSD */#ifndef SVR4 /* BSD44 implies SVR4 */#define SVR4#endif /* SVR4 */#ifndef NOSETBUF /* NOSETBUF is safe */#define NOSETBUF#endif /* NOSETBUF */#ifndef DIRENT /* Uses <dirent.h> */#define DIRENT#endif /* DIRENT */#endif /* BSD44 */#ifdef SVR3 /* SVR3 implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* SVR3 */#ifdef SVR4 /* SVR4 implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#ifndef SVR3 /* ...as well as SVR3 */#define SVR3#endif /* SVR3 */#endif /* SVR4 */#ifdef OXOS#ifndef ATTSV#define ATTSV /* OXOS implies ATTSV */#endif /* ! ATTSV */#define SW_ACC_ID /* access() wants privs on */#define kill priv_kill /* kill() wants privs on */#ifndef NOSETBUF#define NOSETBUF /* NOSETBUF is safe */#endif /* ! NOSETBUF */#endif /* OXOS */#ifdef UTSV /* UTSV implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* UTSV */#ifdef XENIX /* XENIX implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* XENIX */#ifdef AUX /* AUX implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* AUX */#ifdef ATT7300 /* ATT7300 implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* ATT7300 */#ifdef ATT6300 /* ATT6300 implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* ATT6300 */#ifdef HPUX /* HPUX implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* HPUX */#ifdef ISIII /* ISIII implies ATTSV */#ifndef ATTSV#define ATTSV#endif /* ATTSV */#endif /* ISIII */#ifdef NEXT33 /* NEXT33 implies NEXT */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -