v05i026: PCcurses version 1.3, part 4/5
Steve Creps
creps at silver.bacs.indiana.edu
Mon Oct 31 12:54:42 AEST 1988
Posting-number: Volume 5, Issue 26
Submitted-by: "Steve Creps" <creps at silver.bacs.indiana.edu>
Archive-name: pc-curses-1.3/Part4
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 4 (of 5)."
# Contents: Makefile.msc Makefile.trc charget.c curses.h
# Wrapped by creps at silver on Fri Oct 28 17:43:09 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Makefile.msc' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Makefile.msc'\"
else
echo shar: Extracting \"'Makefile.msc'\" \(10189 characters\)
sed "s/^X//" >'Makefile.msc' <<'END_OF_FILE'
X#################################################################
X# PCCURSES #
X# Makefile to generate scurses.lib, ccurses.lib, mcurses.lib, #
X# lcurses.lib for MicroSoft 'C' v.3.0 or v.4.0. #
X# #
X# This makefile will generate subdirectories and call itself #
X# recursively... #
X#################################################################
X# 1.3: Release: 881005 #
X#################################################################
X
X# The following are the directories where your lib and include files
X# will be installed. These need to be edited for your system.
X
XLIBDIR= \usr\lib
XINCDIR= \usr\include
X
X# General definitions:
X
XCFLAGS= -M$(MODEL) -Ox -W3 -c
X
XCOBJS= attrib.obj beep.obj border.obj boxes.obj \
X charadd.obj chardel.obj charget.obj charins.obj \
X charpick.obj clrtobot.obj clrtoeol.obj endwin.obj \
X initscr.obj linedel.obj lineins.obj longname.obj \
X move.obj mvcursor.obj newwin.obj options.obj \
X overlay.obj prntscan.obj refresh.obj scrreg.obj \
X setmode.obj setterm.obj stradd.obj strget.obj \
X tabsize.obj termmisc.obj unctrl.obj update.obj \
X winclear.obj windel.obj winerase.obj winmove.obj \
X winscrol.obj wintouch.obj
X
XASMOBJS= cursesio.obj
X
XOBJS= $(COBJS) $(ASMOBJS)
X
XCC= cl
X
XCHMOD= attrib
X
X#################################################################
X# 'all' is all that can (and usually is) done #
X#################################################################
X
Xall: small compact medium large
X
X#################################################################
X# The following copies the header files to their proper place #
X#################################################################
X
Xheaders: $(INCDIR)\curses.h $(INCDIR)\curspriv.h
X
X$(INCDIR)\curses.h: curses.h
X $(CHMOD) -r $(INCDIR)\curses.h
X copy curses.h $(INCDIR)\curses.h
X $(CHMOD) +r $(INCDIR)\curses.h
X
X$(INCDIR)\curspriv.h: curspriv.h
X $(CHMOD) -r $(INCDIR)\curspriv.h
X copy curspriv.h $(INCDIR)\curspriv.h
X $(CHMOD) +r $(INCDIR)\curspriv.h
X
X#################################################################
X# The following will create a subdirectory for each memory #
X# model, and initiate the make:ing in each one. #
X#################################################################
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - small model #
X#################################################################
X
Xsmall: headers \
X smodel \
X smodel\farnear.inc \
X smodel\smalhuge.inc
X (cd smodel;\
X make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=s" $(LIBDIR)\scurses.lib;\
X cd ..)
X
Xsmodel:
X mkdir smodel
X
Xsmodel\farnear.inc: nearcall.inc
X copy nearcall.inc smodel\farnear.inc
X
Xsmodel\smalhuge.inc: smaldata.inc
X copy smaldata.inc smodel\smalhuge.inc
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - compact model #
X#################################################################
X
Xcompact: headers \
X cmodel \
X cmodel\farnear.inc \
X cmodel\smalhuge.inc
X (cd cmodel;\
X make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=c" $(LIBDIR)\ccurses.lib;\
X cd ..)
X
Xcmodel:
X mkdir cmodel
X
Xcmodel\farnear.inc: nearcall.inc
X copy nearcall.inc cmodel\farnear.inc
X
Xcmodel\smalhuge.inc: hugedata.inc
X copy hugedata.inc cmodel\smalhuge.inc
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - medium model #
X#################################################################
X
Xmedium: headers \
X mmodel \
X mmodel\farnear.inc \
X mmodel\smalhuge.inc
X (cd mmodel;\
X make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=m" $(LIBDIR)\mcurses.lib;\
X cd ..)
X
Xmmodel:
X mkdir mmodel
X
Xmmodel\farnear.inc: farcall.inc
X copy farcall.inc mmodel\farnear.inc
X
Xmmodel\smalhuge.inc: smaldata.inc
X copy smaldata.inc mmodel\smalhuge.inc
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - large model #
X#################################################################
X
Xlarge: headers \
X lmodel \
X lmodel\farnear.inc \
X lmodel\smalhuge.inc
X (cd lmodel;\
X make -f ..\makefile.msc $(MAKEFLAGS) "MODEL=l" $(LIBDIR)\lcurses.lib;\
X cd ..)
X
Xlmodel:
X mkdir lmodel
X
Xlmodel\farnear.inc: farcall.inc
X copy farcall.inc lmodel\farnear.inc
X
Xlmodel\smalhuge.inc: hugedata.inc
X copy hugedata.inc lmodel\smalhuge.inc
X
X#################################################################
X# Put together the library in file tmp.lib, then copy it to #
X# the appropriate name for the memory model in question, and #
X# delete the temporary file #
X#################################################################
X
X$(LIBDIR)\$(MODEL)curses.lib: $(OBJS)
X del tmp.lib
X lib @..\curses.cmd
X $(CHMOD) -r $(LIBDIR)\$(MODEL)curses.lib
X copy tmp.lib $(LIBDIR)\$(MODEL)curses.lib
X $(CHMOD) +r $(LIBDIR)\$(MODEL)curses.lib
X del tmp.lib
X
X#################################################################
X# Commands and dependencies for individual modules #
X#################################################################
X
Xattrib.obj: ..\attrib.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foattrib ..\attrib.c
X
Xbeep.obj: ..\beep.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fobeep ..\beep.c
X
Xborder.obj: ..\border.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foborder ..\border.c
X
Xboxes.obj: ..\boxes.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foboxes ..\boxes.c
X
Xcharadd.obj: ..\charadd.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Focharadd ..\charadd.c
X
Xchardel.obj: ..\chardel.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fochardel ..\chardel.c
X
Xcharget.obj: ..\charget.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Focharget ..\charget.c
X
Xcharins.obj: ..\charins.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Focharins ..\charins.c
X
Xcharpick.obj: ..\charpick.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Focharpick ..\charpick.c
X
Xclrtobot.obj: ..\clrtobot.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foclrtobot ..\clrtobot.c
X
Xclrtoeol.obj: ..\clrtoeol.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foclrtoeol ..\clrtoeol.c
X
Xendwin.obj: ..\endwin.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foendwin ..\endwin.c
X
Xinitscr.obj: ..\initscr.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foinitscr ..\initscr.c
X
Xlinedel.obj: ..\linedel.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Folinedel ..\linedel.c
X
Xlineins.obj: ..\lineins.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Folineins ..\lineins.c
X
Xlongname.obj: ..\longname.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Folongname ..\longname.c
X
Xmove.obj: ..\move.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fomove ..\move.c
X
Xmvcursor.obj: ..\mvcursor.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fomvcursor ..\mvcursor.c
X
Xnewwin.obj: ..\newwin.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fonewwin ..\newwin.c
X
Xoptions.obj: ..\options.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fooptions ..\options.c
X
Xoverlay.obj: ..\overlay.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fooverlay ..\overlay.c
X
Xprntscan.obj: ..\prntscan.c ..\curses.h ..\curspriv.h
X $(CC) -M$(MODEL) -c -Oat -W3 -Foprntscan ..\prntscan.c
X
Xrefresh.obj: ..\refresh.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Forefresh ..\refresh.c
X
Xscrreg.obj: ..\scrreg.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foscrreg ..\scrreg.c
X
Xsetmode.obj: ..\setmode.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fosetmode ..\setmode.c
X
Xsetterm.obj: ..\setterm.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fosetterm ..\setterm.c
X
Xstradd.obj: ..\stradd.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fostradd ..\stradd.c
X
Xstrget.obj: ..\strget.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fostrget ..\strget.c
X
Xtabsize.obj: ..\tabsize.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fotabsize ..\tabsize.c
X
Xtermmisc.obj: ..\termmisc.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fotermmisc ..\termmisc.c
X
Xunctrl.obj: ..\unctrl.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Founctrl ..\unctrl.c
X
Xupdate.obj: ..\update.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Foupdate ..\update.c
X
Xwinclear.obj: ..\winclear.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fowinclear ..\winclear.c
X
Xwindel.obj: ..\windel.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fowindel ..\windel.c
X
Xwinerase.obj: ..\winerase.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fowinerase ..\winerase.c
X
Xwinmove.obj: ..\winmove.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fowinmove ..\winmove.c
X
Xwinscrol.obj: ..\winscrol.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fowinscrol ..\winscrol.c
X
Xwintouch.obj: ..\wintouch.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -Fowintouch ..\wintouch.c
X
X#################################################################
X# You have to choose one of the two following ways to make a #
X# CURSESIO.OBJ - either the 'C' version or the 'ASM' version. #
X# Comment out the one you do not like. #
X#################################################################
X
Xcursesio.obj: ..\cursesio.c
X $(CC) $(CFLAGS) -Focursesio ..\cursesio.c
X
X#cursesio.obj: ..\cursesio.asm
X# masm ..\cursesio.asm/mx,cursesio.obj,nul,nul;
X
X#################################################################
X# Perform a backup of the files in the directory where the #
X# 'make backup' command was issued - copies all files to the #
X# floppy in drive A: #
X#################################################################
X
Xbackup:
X @echo ***** Backup of PCcurses *****
X @echo Insert backup diskette in drive A: and hit any key!
X @pause
X @echo Y > yes.txt
X del a:\*.* < yes.txt >NUL
X @del yes.txt
X copy *.* a:
X
X#################################################################
X# Remove all temporary files and work directories that were #
X# created #
X#################################################################
X
Xclean:
X @echo Y > yes.txt
X del smodel\*.* < yes.txt >NUL
X del cmodel\*.* < yes.txt >NUL
X del mmodel\*.* < yes.txt >NUL
X del lmodel\*.* < yes.txt >NUL
X @del yes.txt
X rmdir smodel
X rmdir cmodel
X rmdir mmodel
X rmdir lmodel
END_OF_FILE
if test 10189 -ne `wc -c <'Makefile.msc'`; then
echo shar: \"'Makefile.msc'\" unpacked with wrong size!
fi
# end of 'Makefile.msc'
fi
if test -f 'Makefile.trc' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Makefile.trc'\"
else
echo shar: Extracting \"'Makefile.trc'\" \(10174 characters\)
sed "s/^X//" >'Makefile.trc' <<'END_OF_FILE'
X#################################################################
X# PCCURSES #
X# Makefile to generate scurses.lib, ccurses.lib, mcurses.lib, #
X# lcurses.lib and hcurses.lib for Borland Turbo-'C'. #
X# #
X# This makefile will generate subdirectories and call itself #
X# recursively... #
X#################################################################
X# 1.3: Release: 881005 #
X#################################################################
X
X# The following are the directories where your lib and include files
X# will be installed. These need to be edited for your system.
X
XLIBDIR= \trc\lib
XINCDIR= \trc\inc
X
X# General definitions:
X
XCFLAGS= -m$(MODEL) -c -O -Z -w -w-pro -I\trc -L\trc
X
XCOBJS= attrib.obj beep.obj border.obj boxes.obj \
X charadd.obj chardel.obj charget.obj charins.obj \
X charpick.obj clrtobot.obj clrtoeol.obj endwin.obj \
X initscr.obj linedel.obj lineins.obj longname.obj \
X move.obj mvcursor.obj newwin.obj options.obj \
X overlay.obj prntscan.obj refresh.obj scrreg.obj \
X setmode.obj setterm.obj stradd.obj strget.obj \
X tabsize.obj termmisc.obj unctrl.obj update.obj \
X winclear.obj windel.obj winerase.obj winmove.obj \
X winscrol.obj wintouch.obj
X
XASMOBJS= cursesio.obj
X
XOBJS= $(COBJS) $(ASMOBJS)
X
XCHMOD= attrib
X
XCC= \trc\tcc
X
X#################################################################
X# 'all' is all that can (and usually is) done #
X#################################################################
X
Xall: small compact medium large
X
X#################################################################
X# The following copies the header files to their proper place #
X#################################################################
X
Xheaders: $(INCDIR)\curses.h $(INCDIR)\curspriv.h
X
X$(INCDIR)\curses.h: curses.h
X $(CHMOD) -r $(INCDIR)\curses.h
X copy curses.h $(INCDIR)\curses.h
X $(CHMOD) +r $(INCDIR)\curses.h
X
X$(INCDIR)\curspriv.h: curspriv.h
X $(CHMOD) -r $(INCDIR)\curspriv.h
X copy curspriv.h $(INCDIR)\curspriv.h
X $(CHMOD) +r $(INCDIR)\curspriv.h
X
X#################################################################
X# The following will create a subdirectory for each memory #
X# model, and initiate the make:ing in each one. #
X#################################################################
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - small model #
X#################################################################
X
Xsmall: headers \
X smodel \
X smodel\farnear.inc \
X smodel\smalhuge.inc
X (cd smodel;\
X make -f ..\makefile.trc $(MAKEFLAGS) "MODEL=s" $(LIBDIR)\scurses.lib;\
X cd ..)
X
Xsmodel:
X mkdir smodel
X
Xsmodel\farnear.inc: nearcall.inc
X copy nearcall.inc smodel\farnear.inc
X
Xsmodel\smalhuge.inc: smaldata.inc
X copy smaldata.inc smodel\smalhuge.inc
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - compact model #
X#################################################################
X
Xcompact: headers \
X cmodel \
X cmodel\farnear.inc \
X cmodel\smalhuge.inc
X (cd cmodel;\
X make -f ..\makefile.trc $(MAKEFLAGS) "MODEL=c" $(LIBDIR)\ccurses.lib;\
X cd ..)
X
Xcmodel:
X mkdir cmodel
X
Xcmodel\farnear.inc: nearcall.inc
X copy nearcall.inc cmodel\farnear.inc
X
Xcmodel\smalhuge.inc: hugedata.inc
X copy hugedata.inc cmodel\smalhuge.inc
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - medium model #
X#################################################################
X
Xmedium: headers \
X mmodel \
X mmodel\farnear.inc \
X mmodel\smalhuge.inc
X (cd mmodel;\
X make -f ..\makefile.trc $(MAKEFLAGS) "MODEL=m" $(LIBDIR)\mcurses.lib;\
X cd ..)
X
Xmmodel:
X mkdir mmodel
X
Xmmodel\farnear.inc: farcall.inc
X copy farcall.inc mmodel\farnear.inc
X
Xmmodel\smalhuge.inc: smaldata.inc
X copy smaldata.inc mmodel\smalhuge.inc
X
X#################################################################
X# Create work directory if non-existent, go to it, and #
X# perform the job - large model #
X#################################################################
X
Xlarge: headers \
X lmodel \
X lmodel\farnear.inc \
X lmodel\smalhuge.inc
X (cd lmodel;\
X make -f ..\makefile.trc $(MAKEFLAGS) "MODEL=l" $(LIBDIR)\lcurses.lib;\
X cd ..)
X
Xlmodel:
X mkdir lmodel
X
Xlmodel\farnear.inc: farcall.inc
X copy farcall.inc lmodel\farnear.inc
X
Xlmodel\smalhuge.inc: hugedata.inc
X copy hugedata.inc lmodel\smalhuge.inc
X
X#################################################################
X# Put together the library in file tmp.lib, then copy it to #
X# the appropriate name for the memory model in question, and #
X# delete the temporary file #
X#################################################################
X
X$(LIBDIR)\$(MODEL)curses.lib: $(OBJS)
X del tmp.lib
X lib @..\curses.cmd
X $(CHMOD) -r $(LIBDIR)\$(MODEL)curses.lib
X copy tmp.lib $(LIBDIR)\$(MODEL)curses.lib
X $(CHMOD) +r $(LIBDIR)\$(MODEL)curses.lib
X del tmp.lib
X
X#################################################################
X# Commands and dependencies for individual modules #
X#################################################################
X
Xattrib.obj: ..\attrib.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oattrib ..\attrib.c
X
Xbeep.obj: ..\beep.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -obeep ..\beep.c
X
Xborder.obj: ..\border.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oborder ..\border.c
X
Xboxes.obj: ..\boxes.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oboxes ..\boxes.c
X
Xcharadd.obj: ..\charadd.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ocharadd ..\charadd.c
X
Xchardel.obj: ..\chardel.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ochardel ..\chardel.c
X
Xcharget.obj: ..\charget.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ocharget ..\charget.c
X
Xcharins.obj: ..\charins.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ocharins ..\charins.c
X
Xcharpick.obj: ..\charpick.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ocharpick ..\charpick.c
X
Xclrtobot.obj: ..\clrtobot.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oclrtobot ..\clrtobot.c
X
Xclrtoeol.obj: ..\clrtoeol.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oclrtoeol ..\clrtoeol.c
X
Xendwin.obj: ..\endwin.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oendwin ..\endwin.c
X
Xinitscr.obj: ..\initscr.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oinitscr ..\initscr.c
X
Xlinedel.obj: ..\linedel.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -olinedel ..\linedel.c
X
Xlineins.obj: ..\lineins.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -olineins ..\lineins.c
X
Xlongname.obj: ..\longname.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -olongname ..\longname.c
X
Xmove.obj: ..\move.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -omove ..\move.c
X
Xmvcursor.obj: ..\mvcursor.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -w-par -omvcursor ..\mvcursor.c
X
Xnewwin.obj: ..\newwin.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -onewwin ..\newwin.c
X
Xoptions.obj: ..\options.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ooptions ..\options.c
X
Xoverlay.obj: ..\overlay.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ooverlay ..\overlay.c
X
Xprntscan.obj: ..\prntscan.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -N -oprntscan ..\prntscan.c
X
Xrefresh.obj: ..\refresh.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -orefresh ..\refresh.c
X
Xscrreg.obj: ..\scrreg.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oscrreg ..\scrreg.c
X
Xsetmode.obj: ..\setmode.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -osetmode ..\setmode.c
X
Xsetterm.obj: ..\setterm.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -osetterm ..\setterm.c
X
Xstradd.obj: ..\stradd.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ostradd ..\stradd.c
X
Xstrget.obj: ..\strget.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ostrget ..\strget.c
X
Xtabsize.obj: ..\tabsize.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -otabsize ..\tabsize.c
X
Xtermmisc.obj: ..\termmisc.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -otermmisc ..\termmisc.c
X
Xunctrl.obj: ..\unctrl.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -ounctrl ..\unctrl.c
X
Xupdate.obj: ..\update.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -oupdate ..\update.c
X
Xwinclear.obj: ..\winclear.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -owinclear ..\winclear.c
X
Xwindel.obj: ..\windel.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -owindel ..\windel.c
X
Xwinerase.obj: ..\winerase.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -owinerase ..\winerase.c
X
Xwinmove.obj: ..\winmove.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -owinmove ..\winmove.c
X
Xwinscrol.obj: ..\winscrol.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -owinscrol ..\winscrol.c
X
Xwintouch.obj: ..\wintouch.c ..\curses.h ..\curspriv.h
X $(CC) $(CFLAGS) -owintouch ..\wintouch.c
X
X#################################################################
X# You have to choose one of the two following ways to make a #
X# CURSESIO.OBJ - either the 'C' version or the 'ASM' version. #
X# Comment out the one you do not like. #
X#################################################################
X
Xcursesio.obj: ..\cursesio.c
X $(CC) $(CFLAGS) -ocursesio ..\cursesio.c
X
X#cursesio.obj: ..\cursesio.asm
X# masm ..\cursesio.asm/mx,cursesio.obj,nul,nul;
X
X#################################################################
X# Perform a backup of the files in the directory where the #
X# 'make backup' command was issued - copies all files to the #
X# floppy in drive A: #
X#################################################################
X
Xbackup:
X @echo ***** Backup of PCcurses *****
X @echo Insert backup diskette in drive A: and hit any key!
X @pause
X @echo Y > yes.txt
X del a:\*.* < yes.txt >NUL
X @del yes.txt
X copy *.* a:
X
X#################################################################
X# Remove all temporary files and work directories that were #
X# created #
X#################################################################
X
Xclean:
X @echo Y > yes.txt
X del smodel\*.* < yes.txt >NUL
X del cmodel\*.* < yes.txt >NUL
X del mmodel\*.* < yes.txt >NUL
X del lmodel\*.* < yes.txt >NUL
X @del yes.txt
X rmdir smodel
X rmdir cmodel
X rmdir mmodel
X rmdir lmodel
END_OF_FILE
if test 10174 -ne `wc -c <'Makefile.trc'`; then
echo shar: \"'Makefile.trc'\" unpacked with wrong size!
fi
# end of 'Makefile.trc'
fi
if test -f 'charget.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'charget.c'\"
else
echo shar: Extracting \"'charget.c'\" \(8979 characters\)
sed "s/^X//" >'charget.c' <<'END_OF_FILE'
X/****************************************************************/
X/* Getch() routines of the PCcurses package */
X/* */
X/****************************************************************/
X/* This version of curses is based on ncurses, a curses version */
X/* originally written by Pavel Curtis at Cornell University. */
X/* I have made substantial changes to make it run on IBM PC's, */
X/* and therefore consider myself free to make it public domain. */
X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
X/****************************************************************/
X/* 1.0: Release: 870515 */
X/* 1.1: Bug fixes: call to _curseskeytest() changed */
X/* _curseskeytst(). Test of that routine also */
X/* lacked () in one place: 870907 */
X/* 1.2: #undef:ine of getch now covers all the file, to */
X/* make sure this module's getch() calls go to DOS, */
X/* not to the PCCurses 'getch()' function. Fixed */
X/* thanks to N.D. Pentcheff: 881002 */
X/* 1.3: MSC -W3, Turbo'C' -w -w-pro checkes: 881005 */
X/****************************************************************/
X
X#include <curses.h>
X#include <curspriv.h>
X
X#undef getch /* We use MSC getch() below */
X#undef ungetch
X
X#include <conio.h>
X
Xstatic int rawgetch(); /* get raw char via BIOS */
Xstatic int sysgetch(); /* get char via system */
Xstatic int validchar(); /* keypad xlate and char check */
X
Xchar _curses_charget_rcsid[] = "@(#)charget.c v1.3 - 881005";
X
Xstatic int buffer[_INBUFSIZ]; /* character buffer */
Xstatic int pindex = 0; /* putter index */
Xstatic int gindex = 1; /* getter index */
Xstatic WINDOW *w; /* to reduce stack usage */
Xstatic int ungind = 0; /* wungetch() push index */
Xstatic int ungch[NUNGETCH]; /* array of ungotten chars */
X
X/* Table for key code translation of function keys in keypad mode */
X/* These values are for strict IBM keyboard compatibles only */
X
Xstatic int kptab[] =
X {
X 0x3b,KEY_F(1), 0x3c,KEY_F(2), 0x3d,KEY_F(3), 0x3e,KEY_F(4),
X 0x3f,KEY_F(5), 0x40,KEY_F(6), 0x41,KEY_F(7), 0x42,KEY_F(8),
X 0x43,KEY_F(9), 0x44,KEY_F(10), 0x47,KEY_HOME, 0x48,KEY_UP,
X 0x49,KEY_PPAGE, 0x4b,KEY_LEFT, 0x4d,KEY_RIGHT, 0x4f,KEY_LL,
X 0x50,KEY_DOWN, 0x51,KEY_NPAGE, 0x52,KEY_IC, 0x53,KEY_DC,
X 0x54,KEY_F(11), 0x55,KEY_F(12), 0x56,KEY_F(13), 0x57,KEY_F(14),
X 0x58,KEY_F(15), 0x59,KEY_F(16), 0x5a,KEY_F(17), 0x5b,KEY_F(18),
X 0x5c,KEY_F(19), 0x5d,KEY_F(20), 0x5e,KEY_F(21), 0x5f,KEY_F(22),
X 0x60,KEY_F(23), 0x61,KEY_F(24), 0x62,KEY_F(25), 0x63,KEY_F(26),
X 0x64,KEY_F(27), 0x65,KEY_F(28), 0x66,KEY_F(29), 0x67,KEY_F(30),
X 0x73,KEY_LEFT, 0x74,KEY_RIGHT, 0x75,KEY_LL, 0x76,KEY_NPAGE,
X 0x77,KEY_HOME, 0x84,KEY_PPAGE, 0x100, -1
X };
X
X
X/****************************************************************/
X/* Wgetch(win) gets a character from the terminal, in normal, */
X/* cbreak or raw mode, optionally echoing to window 'win'. */
X/****************************************************************/
X
Xint wgetch(win)
X WINDOW *win;
X {
X int key;
X int cbr;
X
X if (ungind) /* if ungotten char exists */
X return(ungch[--ungind]); /* remove and return it */
X
X if ((!_cursvar.raw) && (!_cursvar.cbreak)) /* if normal */
X if (gindex < pindex) /* and data in buffer */
X return(buffer[gindex++]);
X
X w = win; /* static for speed & stack */
X pindex = 0; /* prepare to buffer data */
X gindex = 0;
X while(1) /* loop for any buffering */
X {
X if (_cursvar.raw) /* get a raw character */
X key = rawgetch();
X else /* get a system character */
X {
X cbr = _cursesgcb(); /* get ^BREAK status */
X _cursesscb(_cursvar.orgcbr); /* if break return proper */
X key = sysgetch();
X _cursesscb(cbr); /* restore as it was */
X }
X if (w->_nodelay && (key == -1)) /* if nodelay and no char */
X return(-1);
X if ((key == '\r') && _cursvar.autocr && !_cursvar.raw) /* translate cr */
X key = '\n';
X if (_cursvar.echo && (key < 0x100)) /* check if echo */
X {
X waddch(w,key);
X wrefresh(w);
X }
X if (_cursvar.raw || _cursvar.cbreak) /* if no buffering */
X return(key);
X if (pindex < _INBUFSIZ-2) /* if no overflow, */
X buffer[pindex++] = key; /* put data in buffer */
X if ((key == '\n') || (key == '\r')) /* if we got a line */
X return(buffer[gindex++]);
X } /* while */
X } /* wgetch */
X
X/****************************************************************/
X/* Flushinp() kills any pending input characters. */
X/****************************************************************/
X
Xvoid flushinp()
X {
X while(_curseskeytst()) /* empty keyboard buffer */
X _curseskey();
X while(kbhit()) /* empty system's buffers */
X (void) getch();
X gindex = 1; /* set indices to kill buffer */
X pindex = 0;
X ungind = 0; /* clear ungch array */
X } /* flushinp */
X
X/****************************************************************/
X/* Wungetch() pushes back its argument on the input stream. If */
X/* OK, returns 1, otherwise returns 0. */
X/****************************************************************/
X
Xint wungetch(ch)
X int ch;
X {
X if (ungind >= NUNGETCH) /* pushback stack full */
X return(0);
X ungch[ungind++] = ch;
X return(1);
X } /* wungetch() */
X
X/****************************************************************/
X/* Mvgetch() first moves the stdscr cursor to a new location, */
X/* then does a wgetch() on stdscr. */
X/****************************************************************/
X
Xint mvgetch(y,x)
X int y;
X int x;
X {
X wmove(stdscr,y,x);
X return(wgetch(stdscr));
X } /* mvgetch */
X
X/****************************************************************/
X/* Mvwgetch() first moves the cursor of window 'win' to a new */
X/* location, then does a wgetch() in 'win'. */
X/****************************************************************/
X
Xint mvwgetch(win,y,x)
X WINDOW *win;
X int y;
X int x;
X {
X wmove(win,y,x);
X return(wgetch(win));
X } /* mvwgetch */
X
X/****************************************************************/
X/* rawgetch() gets a character without any interpretation at */
X/* all and returns it. If keypad mode is active for the desig- */
X/* nated window, function key translation will be performed. */
X/* Otherwise, function keys are ignored.If nodelay mode is */
X/* active in the window, then rawgetch() returns -1 if no cha- */
X/* racter is available. */
X/****************************************************************/
X
Xstatic int rawgetch()
X {
X int c;
X
X if (w->_nodelay && !_curseskeytst())
X return(-1);
X while(1) /* loop to get valid char */
X {
X if ((c = validchar(_curseskey())) >= 0)
X return(c);
X } /* while */
X } /* rawgetch */
X
X/****************************************************************/
X/* Sysgetch() gets a character with normal ^S, ^Q, ^P and ^C */
X/* interpretation and returns it. If keypad mode is active for */
X/* the designated window, function key translation will be per- */
X/* formed. Otherwise, function keys are ignored. If nodelay */
X/* mode is active in the window, then sysgetch() returns -1 if */
X/* no character is available. */
X/****************************************************************/
X
Xstatic int sysgetch()
X {
X int c;
X
X if (w->_nodelay && !kbhit())
X return(-1);
X while(1)
X {
X c = getch();
X if (c) /* if not a function key */
X return(c & 0xff); /* avoids sign-extending */
X c = getch();
X if ((c = validchar(c << 8)) >= 0) /* get & check next char */
X return(c);
X } /* while */
X } /* sysgetch */
X
X/****************************************************************/
X/* Validchar(c) chacks that 'c' is a valid character, and */
X/* if so returns it, with function key translation applied if */
X/* 'w' has keypad mode set. If char is invalid, returns -1. */
X/****************************************************************/
X
Xstatic int validchar(c)
X int c;
X {
X int *scanp;
X
X if (c == 0x0300) /* special case, ^@ = NULL */
X return(0);
X if (!(c & 0xff00)) /* normal character */
X return(c);
X if (!(w->_keypad)) /* skip f keys if not keypad mode */
X return(-1);
X c = (c >> 8) & 0xff;
X scanp = kptab;
X while(*scanp <= c) /* search for value */
X { /* (stops on table entry 0x100) */
X if (*scanp++ == c)
X return(*scanp); /* found, return it */
X scanp++;
X }
X return(-1); /* not found, invalid */
X } /* validchar */
X
X/****************************************************************/
X/* _cursespendch() returns 1 if there is any character avai- */
X/* lable, and 0 if there is none. This is not for programmer */
X/* usage, but for the updatew routines. */
X/****************************************************************/
X
Xbool _cursespendch()
X {
X if (ungind) /* ungotten char */
X return(TRUE);
X if (pindex > gindex) /* buffered char */
X return(TRUE);
X if (_cursvar.raw) /* raw mode test */
X return(_curseskeytst());
X return((bool)kbhit()); /* normal mode test */
X } /* _cursespendch */
END_OF_FILE
if test 8979 -ne `wc -c <'charget.c'`; then
echo shar: \"'charget.c'\" unpacked with wrong size!
fi
# end of 'charget.c'
fi
if test -f 'curses.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'curses.h'\"
else
echo shar: Extracting \"'curses.h'\" \(13280 characters\)
sed "s/^X//" >'curses.h' <<'END_OF_FILE'
X/****************************************************************/
X/* CURSES.H */
X/* Header file for definitions and declarations for the */
X/* PCcurses package. This should be #include'd in all user */
X/* programs. */
X/****************************************************************/
X/* This version of curses is based on ncurses, a curses version */
X/* originally written by Pavel Curtis at Cornell University. */
X/* I have made substantial changes to make it run on IBM PC's, */
X/* and therefore consider myself free to make it public domain. */
X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
X/****************************************************************/
X/* 1.0: Release: 870515 */
X/* 1.1: 'Raw' output routines, revision info in */
X/* curses.h: 880306 */
X/* 1.2: Rcsid[] string in all modules, for maintenance: 881002 */
X/* 1.3: All modules lint-checked with MSC '-W3' and */
X/* turbo'C' '-w -w-pro' switches. Support for */
X/* border(), wborder() functions: 881005 */
X/****************************************************************/
X
X/* general definitions */
X
X#define TRUE 1 /* booleans */
X#define FALSE 0
X#define ERR 1 /* general error flag */
X#define OK 0 /* general OK flag */
X
X#define CURSES_RCS_ID "@(#)PCcurses v.1.3, 881005"
X
X/* functions defined as macros */
X
X#define getch() wgetch(stdscr) /* using macroes allows you to use */
X#define ungetch(c) wungetch(c) /* #undef getch/ungetch in your */
X /* programs to use MSC getch() and */
X /* ungetch() routines */
X
X#define getyx(win,y,x) (y = (win)->_cury, x = (win)->_curx)
X
X#ifndef max
X#define max(a,b) (((a) > (b)) ? (a) : (b))
X#endif
X#ifndef min
X#define min(a,b) (((a) < (b)) ? (a) : (b))
X#endif
X
X/* video attribute definitions. Colour definitions for */
X/* CGA/EGA should also go here... */
X
X#define A_ALTCHARSET 0
X#define A_BLINK 0x100
X#define A_BLANK 0x200
X#define A_BOLD 0x400
X#define A_DIM 0
X#define A_PROTECT 0
X#define A_REVERSE 0x800
X#define A_STANDOUT 0x1000
X#define A_UNDERLINE 0x2000
X
X/* function and keypad key definitions. Many are just for compatibility */
X
X#define KEY_BREAK 0x101 /* Not on PC */
X#define KEY_DOWN 0x102 /* The four arrow keys */
X#define KEY_UP 0x103
X#define KEY_LEFT 0x104
X#define KEY_RIGHT 0x105
X#define KEY_HOME 0x106 /* Home key */
X#define KEY_BACKSPACE 0x107 /* Not on PC */
X#define KEY_F0 0x108 /* Function keys. Space for */
X#define KEY_F(n) (KEY_F0+(n)) /* 64 keys is reserved. */
X#define KEY_DL 0x148 /* Not on PC */
X#define KEY_IL 0x149 /* Insert line */
X#define KEY_DC 0x14a /* Delete character */
X#define KEY_IC 0x14b /* Insert char or enter insert mode */
X#define KEY_EIC 0x14c /* Exit insert char mode */
X#define KEY_CLEAR 0x14d /* Clear screen */
X#define KEY_EOS 0x14e /* Clear to end of screen */
X#define KEY_EOL 0x14f /* Clear to end of line */
X#define KEY_SF 0x150 /* Scroll 1 line forward */
X#define KEY_SR 0x151 /* Scroll 1 line backwards (reverse) */
X#define KEY_NPAGE 0x152 /* Next page */
X#define KEY_PPAGE 0x153 /* Previous page */
X#define KEY_STAB 0x154 /* Set tab */
X#define KEY_CTAB 0x155 /* Clear tab */
X#define KEY_CATAB 0x156 /* Clear all tabs */
X#define KEY_ENTER 0x157 /* Enter or send (unreliable) */
X#define KEY_SRESET 0x158 /* soft (partial) reset (unreliable) */
X#define KEY_RESET 0x159 /* reset or hard reset (unreliable) */
X#define KEY_PRINT 0x15a /* print or copy */
X#define KEY_LL 0x15b /* home down or bottom (lower left) */
X#define KEY_ABORT 0x15c /* Abort/Terminate key (any) */
X#define KEY_SHELP 0x15d /* Short help */
X#define KEY_LHELP 0x15e /* Long help */
X
X/* type declarations */
X
Xtypedef char bool; /* boolean type */
X
Xtypedef struct
X {
X int _cury; /* Current pseudo-cursor */
X int _curx;
X int _maxy; /* Max coordinates */
X int _maxx;
X int _begy; /* Origin on screen */
X int _begx;
X int _flags; /* Window properties */
X int _attrs; /* Attributes of written characters */
X int _tabsize; /* Tab character size */
X bool _clear; /* Causes clear at next refresh */
X bool _leave; /* Leaves cursor as it happens */
X bool _scroll; /* Allows window scrolling */
X bool _nodelay; /* Input character wait flag */
X bool _keypad; /* Flags keypad key mode active */
X int **_line; /* Pointer to line pointer array */
X int *_minchng; /* First changed character in line */
X int *_maxchng; /* Last changed character in line */
X int _regtop; /* Top of scrolling region */
X int _regbottom; /* Bottom of scrolling region */
X char _borderchars[8]; /* Non-std border chars */
X } WINDOW;
X
X/* External variables */
X
Xextern int LINES; /* terminal height */
Xextern int COLS; /* terminal width */
Xextern WINDOW *curscr; /* the current screen image */
Xextern WINDOW *stdscr; /* the default screen window */
X
X/* PCcurses function declarations */
X
Xextern int addch(); /* put char in stdscr */
Xextern int addrawch(); /* put char in stdscr, raw */
Xextern int addstr(); /* put string in stdscr */
Xextern void attrset(); /* set stdscr char attributes */
Xextern void attroff(); /* clear attribute(a) stdscr */
Xextern void attron(); /* add attribute(s) stdscr */
Xextern int baudrate(); /* compatibility dummy */
Xextern void beep(); /* sound bell */
Xextern void border(); /* Set non-std box characters */
Xextern void box(); /* draw a box around a window */
Xextern void cbreak(); /* set terminal cbreak mode */
Xextern void clear(); /* clear stdscr */
Xextern void clearok(); /* marks a window for screen clear */
Xextern int clrtobot(); /* clear end of stdscr */
Xextern int clrtoeol(); /* clear end of line in stdscr */
Xextern void crmode(); /* set terminal cbreak mode */
Xextern void cursoff(); /* turns off hardware cursor */
Xextern void curson(); /* turns on hardware cursor */
Xextern void def_prog_mode(); /* save TTY modes */
Xextern void def_shell_mode(); /* compatibility dummy */
Xextern int delch(); /* delete a char in stdscr */
Xextern int deleteln(); /* delete a line in stdscr */
Xextern void delwin(); /* delete a window or a subwindow */
Xextern void doupdate(); /* update physical screen */
Xextern void echo(); /* set terminal echo mode */
Xextern int endwin(); /* cleanup and finitialization */
Xextern void erase(); /* erase stdscr */
Xextern int erasechar(); /* return char kill character */
Xextern int fixterm(); /* compatibility dummy */
Xextern void flash(); /* flash terminal screen */
Xextern void flushinp(); /* kill pending keyboard input */
Xextern int getstr(); /* get string to stdscr and buffer */
Xextern int gettmode(); /* compatibility dummy */
Xextern void idlok(); /* use ins/del line (dummy) */
Xextern int initscr(); /* curses initialization */
Xextern int inch(); /* get char at stdscr cursor */
Xextern int insch(); /* insert character in stdscr */
Xextern int insrawch(); /* insert character in stdscr, raw */
Xextern int insertln(); /* insert new line in stdscr */
Xextern void keypad(); /* marks a window for keypad usage */
Xextern int killchar(); /* return line kill character */
Xextern char *longname(); /* terminal description */
Xextern void leaveok(); /* marks window for cursor 'leave' */
Xextern void meta(); /* marks window for meta (dummy) */
Xextern int move(); /* move cursor in stdscr */
Xextern int mvaddch(); /* move & put char in stdscr */
Xextern int mvaddrawch(); /* move & put char in stdscr, raw */
Xextern int mvaddstr(); /* move & put string in stdscr */
Xextern int mvclrtobot(); /* move & clear end of stdscr */
Xextern int mvclrtoeol(); /* move & clear lineend in stdscr */
Xextern int mvcur(); /* move terminal cursor */
Xextern int mvdelch(); /* move & delete a char in stdscr */
Xextern int mvdeleteln(); /* move & delete a line in stdscr */
Xextern int mvgetch(); /* move & get char to stdscr */
Xextern int mvgetstr(); /* move & get string to stdscr */
Xextern int mvinch(); /* move & get char at stdscr cursor */
Xextern int mvinsch(); /* move & insert char in stdscr */
Xextern int mvinsrawch(); /* move & insert raw char in stdscr */
Xextern int mvinsertln(); /* move & insert new line in stdscr */
Xextern int mvprintw(); /* move & print string in stdscr */
Xextern int mvscanw(); /* move & get values via stdscr */
Xextern int mvwaddch(); /* move & put char in a window */
Xextern int mvwaddrawch(); /* move & put char in a window, raw */
Xextern int mvwaddstr(); /* move & put string in a window */
Xextern int mvwclrtobot(); /* move & clear end of a window */
Xextern int mvwclrtoeol(); /* move & clear lineend in a window */
Xextern int mvwdelch(); /* move & delete a char in a window */
Xextern int mvwdeleteln(); /* move & delete a line in a window */
Xextern int mvwgetch(); /* move & get char to a window */
Xextern int mvwgetstr(); /* move & get string to a window */
Xextern int mvwinch(); /* move & get char at window cursor */
Xextern int mvwinsch(); /* move & insert char in a window */
Xextern int mvwinsrawch(); /* move & insert raw char in window */
Xextern int mvwinsertln(); /* move & insert new line in window */
Xextern int mvwin(); /* move window */
Xextern int mvwprintw(); /* move & print string in a window */
Xextern int mvwscanw(); /* move & get values via a window */
Xextern WINDOW *newwin(); /* create a window */
Xextern void nl(); /* set terminal cr-crlf map mode */
Xextern void nocbreak(); /* unset terminal cbreak mode */
Xextern void nocrmode(); /* unset terminal cbreak mode */
Xextern void nodelay(); /* marks window for no input wait */
Xextern void noecho(); /* unset terminal echo mode */
Xextern void nonl(); /* unset terminal cr-crlf map mode */
Xextern void noraw(); /* unset raw terminal mode */
Xextern void overlay(); /* overlay one window on another */
Xextern void overwrite(); /* overwrite one window on another */
Xextern int printw(); /* print string in stdscr */
Xextern void raw(); /* set raw terminal mode */
Xextern void refrbrk(); /* set screen refresh break mode */
Xextern void refresh(); /* refresh stdscr */
Xextern int resetterm(); /* compatibility dummy */
Xextern int resetty(); /* restore terminal I/O modes */
Xextern void reset_prog_mode(); /* restore terminal I/O modes */
Xextern void reset_shell_mode(); /* set terminal to default modes */
Xextern int saveoldterm(); /* compatibility dummy */
Xextern int saveterm(); /* compatibility dummy */
Xextern int savetty(); /* save terminal I/O modes */
Xextern int scanw(); /* get values via stdscr */
Xextern void scroll(); /* scroll region in a window */
Xextern void scrollok(); /* marks a window to allow scroll */
Xextern int setsrcreg(); /* define stdscr's scroll region */
Xextern int setterm(); /* compatibility dummy */
Xextern int setupterm(); /* set up terminal (no-op) */
Xextern void standend(); /* start normal chars in stdscr */
Xextern void standout(); /* start standout chars in stdscr */
Xextern WINDOW *subwin(); /* create a sub-window */
Xextern int tabsize(); /* set/get tabsize of stdscr */
Xextern void touchwin(); /* mark a window as modified */
Xextern char *unctrl(); /* char-to-string converter */
Xextern int waddch(); /* put char in a window */
Xextern int waddrawch(); /* put char in a window, raw */
Xextern int waddstr(); /* put string in a window */
Xextern void wattroff(); /* clear attribute(a) in window */
Xextern void wattron(); /* add attribute(s) in window */
Xextern void wattrset(); /* set window char attributes */
Xextern void wborder(); /* Set non-std box characters */
Xextern int wbox(); /* draw a box inside a window */
Xextern void wclear(); /* clear a window */
Xextern int wclrtobot(); /* clear end of a window */
Xextern int wclrtoeol(); /* clear end of line in a window */
Xextern int wdelch(); /* delete a char in a window */
Xextern int wdeleteln(); /* delete a line in a window */
Xextern void werase(); /* erase a window */
Xextern int wgetch(); /* get char to a window */
Xextern int wgetstr(); /* get string to window and buffer */
Xextern int winch(); /* get char at window cursor */
Xextern int winsch(); /* insert character in a window */
Xextern int winsrawch(); /* insert raw character in a window */
Xextern int winsertln(); /* insert new line in a window */
Xextern int wmove(); /* move cursor in a window */
Xextern void wnoutrefresh(); /* create screen image, w/o display */
Xextern int wprintw(); /* print string in a window */
Xextern void wrefresh(); /* refresh screen */
Xextern int wscanw(); /* get values via a window */
Xextern int wsetsrcreg(); /* define a window's scroll region */
Xextern void wstandend(); /* start normal chars in window */
Xextern void wstandout(); /* start standout chars in window */
Xextern int wtabsize(); /* set/get tabsize of a window */
Xextern int wungetch(); /* character push-back */
END_OF_FILE
if test 13280 -ne `wc -c <'curses.h'`; then
echo shar: \"'curses.h'\" unpacked with wrong size!
fi
# end of 'curses.h'
fi
echo shar: End of archive 4 \(of 5\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 5 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 5 archives.
rm -f ark[1-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0
More information about the Comp.sources.misc
mailing list