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