This is xc.h in view mode; [Download] [Up]
/* xc.h -- header file for XC This file was generated by configure on Tue Oct 19 00:42:40 MET 1993 by This file uses 4-character tabstops */ /* Local preferences and modems */ /* CAPTFILE This is the default name given to the capture buffer in terminal mode (and during script processing). You can always reset this while running the program. */ #define CAPTFILE "capture.log" /* Default capture file */ /* LIBDIR This is the default name given to a directory where PHFILE, STARTUP, and any XC scripts might be found. XC will search for such files 1st) in a path in a colon-separated list of directories in XC_PATH, if such an environment variable exists, 2nd) in the current directory, 3rd) in your HOME directory, if HOME is an environment variable, 4th) in LIBDIR. */ #define LIBDIR "/usr/local/lib/xc" /* PHFILE This is the default name given to the dialing directory. */ #define PHFILE ".phonelist" /* Default phonelist file */ /* STARTUP This is the default name of the startup script for XC. If this file is found it will be executed immediately on XC startup. */ #define STARTUP ".xc" /* XC Startup Script */ /* DIALSTR A format string to send a telephone number to the modem with the appropriate dialing command. */ #define DIALSTR "ATDT %s\r" /* printf format for modem dial command */ /*#define DIALSTR "AAATDT%s\r" /* printf format for older Telebits */ /* DTR_DROPS_CARRIER On some (most?) modems, dropping the DTR signal will instruct the modem to disconnect the phone line. On most (some?) Unix systems, setting a bit/second rate of 0 will drop carrier. If either of these conditions do NOT apply to your setup, set this value to 0 and an alternate hangup function will be used. This alternate function sends the modem the ATTEN string, waits a few seconds, and then sends the HANGUP string, so check if those are correct for your modem. */ #define DTR_DROPS_CARRIER 0 #if !DTR_DROPS_CARRIER /* If not, then we need the next two defines */ # define ATTEN "+++" /* Modem "attention" signal */ # define HANGUP "ATH\r" /* Modem "hang up" command */ #endif /* DEBUG If this manifest is set to 1, then whenever XC is run within a directory that contains a file called "debug.log", XC will append to that file a copy of all XC output, whether to the terminal "file" or to standard error. This can be useful for debugging scripts, coupled with the "debug" script command, which causes the lines of a script to be echoed to the terminal as they get executed. Since often such output passes up the terminal screen too quickly to read, the "debug.log" file provides a hard-copy of the XC session. No echoing to a "debug.log" file is done if XC is also capturing incoming text to a capture file. If no "debug.log" file exists in the current directory, then no such echoing is done regardless of whether the DEBUG is here defined as 0 or 1. */ #define DEBUG 0 #if DEBUG && !NODEBUG # define fprintf Fprintf # define fputc Fputc # define fputs Fputs #endif /* NOSHELL Set this to 1 to disallow shell escapes. Both the "!" and "$" mechanisms from the XC prompt, and the analogous SHELL and PIPE keywords in scripts, silently do nothing. However the standard output of backquoted shell commands can still be assigned to a script variable. */ #define NOSHELL 0 /* For XC, the following definitions are significant: DIDO=0 This will not include any of the LCK..file code respected by cu/uucp. DIDO=2 DIDO=3 DIDO=4 For a Dial-In/Dial-Out port. 2 is for SCO Xenix 2.2 which uses ungetty. 3 is for SCO Xenix 2.3 whose getty is effectively a uugetty, for SCO Unix, or for other sites using uugetty. 4 is for Unix Sys V Release 4 */ #define DIDO 3 /* Local Unix peculiarities */ /* STRCHR and STRRCHR vs. INDEX and RINDEX Some Berkely and Xenix systems have index() and rindex() which are functionally identical to the more standard strchr() and strrchr() functions. These two defines should be 0 if your Unix uses index and rindex instead of strchr and strrchr. */ #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #if !HAVE_STRCHR # define strchr index extern char *index(); #endif #if !HAVE_STRRCHR # define strrchr rindex extern char *rindex(); #endif /* DUP2 dup2() is not included with all versions of Unix. If your implementation does not have dup2() (or if you are just not sure), define this as 0 and a functional equivalent will be included in the source code. */ #define DUP2 1 /* STRSTR The draft Ansi C standard specifies the "strstr" function to return the position of a substring within a string. This is NOT included in many Unix systems, so code for this function is included unless you define this as 1. */ #define STRSTR 1 #if !STRSTR extern char *strstr(); #endif /* MEMSET This function is not on earlier implementations of Unix. Define this as 0 if you don't have it; making it 1 will not include our equivalent code. */ #define MEMSET 1 /* STRDUP Again, a function not present on earlier versions of Unix, and again, defining this as 0 will thereby include our functional equivalent. */ #define STRDUP 0 #if !STRDUP extern char *strdup(); #endif /* If you don't have these typedefs in your /usr/include/sys/types.h, then the following should be 0. */ #define HAVE_PID_T 0 #define HAVE_TIME_T 1 #define HAVE_USHORT 1 #define HAVE_UNCHAR 0 #define HAVE_ULONG 0 #if !HAVE_PID_T typedef short pid_t; #endif #if !HAVE_TIME_T typedef long time_t; #endif #if !HAVE_USHORT typedef unsigned short ushort; #endif #if !HAVE_UNCHAR typedef unsigned char unchar; #endif #if !HAVE_ULONG typedef unsigned long ulong; #endif /* The type returned by signal() */ typedef void RETSIGTYPE; /* The reader is kindly invited to leave the rest of this just as it is! */ #define SOH 0x1 /* ^A */ #define ETX 0x3 /* ^C */ #define EOT 0x4 /* ^D */ #define ENQ 0x5 /* ^E */ #define ACK 0x6 /* ^F */ #define DLE 0x10 /* ^P */ #define XON 0x11 /* ^Q */ #define XOFF 0x13 /* ^S */ #define NAK 0x15 /* ^U */ #define CAN 0x18 /* ^X */ #ifndef TRUE # define TRUE 1 # define FALSE 0 #endif #define SUCCESS 1 #define FAILURE 0 #define NEWMODE 0 #define SIGMODE 1 #define OLDMODE 2 #ifdef toupper # undef toupper # undef tolower #endif #define SM_BUFF 256 #define LG_BUFF 2048 #define S show(1,Msg) #define S0(x) show(0,x) #define S1(x) show(1,x) #define S2(x) show(2,x) /* I prefer this NIL macro to present a NIL pointer than most other variations that I have seen (eg, NULL, 0, or (cast) 0. Comme ci, comme ca. - larry gensch */ #ifndef NIL # define NIL(type) (type *) 0 #endif /* globals in three or more files */ extern int CO, LI, my_escape, beep(), hangup(), show_bindings(), cbaud; extern short capture, cismode, flowflag, linkflag, reterm; extern char captfile[], ddsname[], phonefile[], *mport(), word[], *wptr, line[], Msg[], *lptr, Name[], *getenv(), protocol[]; extern unsigned mrate(), sleep(); //extern unchar BS, LK; extern ushort getuid(), getgid(), geteuid(), getegid(); extern void cls(), cur_on(), cur_off(), default_bindings(), do_script(), drawline(), exit(), free(), getline(), getword(), mode(), lc_word(), msecs(), purge(), send_mbyte(), send_string(), sendbyte(), show(), show_abort(), ttgoto(), xc_setflow(); extern FILE *tfp, /* the local terminal */ *openfile(), *QueryCreate(); extern struct termios oldmode, newmode, sigmode; typedef enum { ENDCHAR = 128, /* Higher than any valid keyboard code */ CAPTYES, CAPTEND, DIVCHAR, DIALCHR, HUPCHAR, SCRPCHR, BRKCHAR, HLPCHAR, QUITCHR, EMITSTR, DOSCRPT, BADFUNC = 0 } bindfunc_t;
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.