home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / 3b1 / volume02 / shlib / part01 < prev    next >
Encoding:
Internet Message Format  |  1992-03-16  |  55.8 KB

  1. Path: comp-sources-3b1
  2. From: buhrt@prslnk.uucp (Jeff Buhrt)
  3. Subject:  v02i001:  3b1 Shared Library Builder, Part01/02
  4. Newsgroups: comp.sources.3b1
  5. Approved: dave@galaxia.newport.ri.us
  6. X-Checksum-Snefru: 0ab85913 88c9d211 ccaec1cc 4d47495c
  7.  
  8. Submitted-by: buhrt@prslnk.uucp (Jeff Buhrt)
  9. Posting-number: Volume 2, Issue 1
  10. Archive-name: shlib/part01
  11.  
  12.  
  13. This archive is setup to allow adding dirent, gcc functions, and curses
  14. to /lib/shlib on a 3b1 (7300, unixpc, etc).
  15.  
  16. The big thing with curses was to comment out the TAM functions and just
  17. use the curses functions (that may be of the same name, but have different
  18. internal data structures).
  19.  
  20. We have been using this code for 1, 2 maybe 3 years.
  21.  
  22.                         -Jeff Buhrt
  23.                     {nstar,uunet}!sawmill!prslnk!buhrt
  24.                     812-275-0750 work
  25.                     Proslink, Inc.
  26.  
  27. [ Note: I repackaged this so that each piece was less than 60K.  The    ]
  28. [ original file I received was one big shar file.  -dhb            ]
  29.  
  30. #! /bin/sh
  31. # This is a shell archive.  Remove anything before this line, then unpack
  32. # it by saving it into a file and typing "sh file".  To overwrite existing
  33. # files, type "sh file -c".  You can also feed this as standard input via
  34. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  35. # will see the following message at the end:
  36. #        "End of archive 1 (of 2)."
  37. # Contents:  MANIFEST Makefile README ccc curses curses/Makefile.curo
  38. #   curses/Makefile.curse curses/shmydef.c daddr.prl minic
  39. #   minic/Makefile.minic new.iCURSES new.ifile shlib.4 stubs.s test
  40. #   test/Makefile test/genaddr.c test/h.c test/t.c
  41. # Wrapped by dave@galaxia on Tue Feb 25 08:01:27 1992
  42. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  43. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  44.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  45. else
  46. echo shar: Extracting \"'MANIFEST'\" \(778 characters\)
  47. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  48. X   File Name        Archive #    Description
  49. X-----------------------------------------------------------
  50. X MANIFEST                   1    
  51. X Makefile                   1    
  52. X README                     1    
  53. X ccc                        1    
  54. X curses                     1    
  55. X curses/Makefile.curo       1    
  56. X curses/Makefile.curse      1    
  57. X curses/shmydef.c           1    
  58. X daddr.prl                  1    
  59. X minic                      1    
  60. X minic/Makefile.minic       1    
  61. X new.iCURSES                1    
  62. X new.ifile                  1    
  63. X newshlib.iCURS             2    
  64. X newshlib.ifile             2    
  65. X shlib.4                    1    
  66. X stubs.s                    1    
  67. X test                       1    
  68. X test/Makefile              1    
  69. X test/genaddr.c             1    
  70. X test/h.c                   1    
  71. X test/t.c                   1    
  72. END_OF_FILE
  73. if test 778 -ne `wc -c <'MANIFEST'`; then
  74.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  75. fi
  76. # end of 'MANIFEST'
  77. fi
  78. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  79.   echo shar: Will not clobber existing file \"'Makefile'\"
  80. else
  81. echo shar: Extracting \"'Makefile'\" \(666 characters\)
  82. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  83. XMINIC =minic/libminic.a
  84. X#DIRENT=dirent/libdirent.a
  85. XDIRENT=/lib/libdirent.a
  86. X#GNULIB=/usr/lib/gcc-gnulib
  87. XGNULIB=/usr/local/lib/gcc-gnulib
  88. XCURSESLIB=shcurses.a
  89. XNEWLIB=newshlib
  90. XMAP=  -m
  91. X
  92. Xall: ${NEWLIB}
  93. X
  94. Xstubs.o: stubs.s
  95. X    as stubs.s
  96. X
  97. Xextra.o: ${DIRENT} stubs.o
  98. X#    ld -r -o extra.o stubs.o ${GNULIB} ${MINIC} ${DIRENT} ${CURSESLIB}
  99. X# We must put curses first because we need to make sure what data addresses
  100. X# are (aren't moved by the other things in the load list.
  101. X# Text entry points don't matter because they are in stubs.s
  102. X    ld -r -o extra.o stubs.o ${CURSESLIB} ${GNULIB} ${MINIC} ${DIRENT}
  103. X
  104. X${NEWLIB}: extra.o
  105. X#    ld -o $@ ${MAP} new.ifile
  106. X    ld -o $@ ${MAP} new.iCURSES
  107. X
  108. END_OF_FILE
  109. if test 666 -ne `wc -c <'Makefile'`; then
  110.     echo shar: \"'Makefile'\" unpacked with wrong size!
  111. fi
  112. # end of 'Makefile'
  113. fi
  114. if test -f 'README' -a "${1}" != "-c" ; then 
  115.   echo shar: Will not clobber existing file \"'README'\"
  116. else
  117. echo shar: Extracting \"'README'\" \(2646 characters\)
  118. sed "s/^X//" >'README' <<'END_OF_FILE'
  119. X>
  120. X>This distribution is pretty rough, but it was either get it out 
  121. X>rough or wait until I had more time (HAH!) which could be weeks.
  122. X>
  123. X>This is all the stuff that you need to build a new shared library for
  124. X>the 3b1 (7300). I build it, installed it, and my machine still works.
  125. X>Other then that, I haven't had time to test it much. I'll be testing it more,
  126. X>and I'd like to here about any bugs.
  127. X>
  128. X>#################################                   :alex.
  129. X>#Disclamer: Anyone who agrees   #                 Systems Programmer
  130. X>#with me deserves what they get.#    University of Maryland Baltimore County
  131. X>#################################        alex@umbc3.umbc.edu
  132. X>
  133. X>The enclosed files are:
  134. X>    README        -    This file
  135. X>    Makefile    -    A makefile for the library
  136. X>    Makefile.minic    -    A makefile for libminic.a
  137. X>    stubs.s        -    The new jumptable
  138. X>    new.ifile    -    The ifile for creating the shared library.
  139. X>    newshlib.ifile    -    A replacement for /lib/shlib.ifile
  140. X>    shlib.4        -    An tbl/roff manpage
  141. X>    newshlib.iCURS    -    shlib.iCURSES use along /w -lcurses_s
  142. X>    Makefile.curse    -    A makefile for libcurses_s.a
  143. X>    shmydef        -    replacement defs from libcurses.a termcap.o
  144. X>                -these are defined out in shlib.iCURSES
  145. X
  146. X
  147. X                        -Jeff Buhrt
  148. X                    {nstar,uunet}!sawmill!prslnk!buhrt
  149. X                    812-275-0750 work
  150. X                    Proslink, Inc.
  151. X
  152. XThis is set up to build a new shared library out of:
  153. X
  154. X    1) the old shared library
  155. X    2) the missing parts of libc.a
  156. X    3) libdirent
  157. X    4) gnulib (v1.37)
  158. X    5) curses
  159. X
  160. XNote that libdirent.a and gnulib are *NOT* included, you will need to snarf 
  161. Xthem from somewhere else (you can get both from ohio-state).
  162. X
  163. XI build mine with three subdirectories, minic and dirent, curses.
  164. X    To do it this way:
  165. X    BACKUP /lib/shlib and shlib.ifile (and shlib.iCURSES if you have it)
  166. X    build libdirent.a and put it in a subdirectory
  167. X        called dirent (or ln from /usr/lib if it is there). 
  168. X    make a directory minic and move Makefile.minic there, type "make".
  169. X    make a directory curses and move Makefile.curse and shmydef.o there,
  170. X        and type 'make -f Makefile.curse' (as root)
  171. X    edit Makefile to suit your tastes.
  172. X    ln /lib/shlib shlib.o
  173. X    type "make"
  174. X    cp newshlib.ifile /lib/shlib.ifile
  175. X    cp newshlib.CURS /lib/shlib.iCURSES
  176. X    carefully replace /lib/shlib with newshlib (mv shlib away to new name)
  177. X    cross your fingers
  178. X    reboot the system.
  179. X
  180. XIf this goes well, try compiling some programs using the new shlib symbols.
  181. XThe few tests that I did worked, and the theory seems sound enough, and my
  182. Xmachine hasn't crashed recently. I'd like to here about any bugs, typo's,
  183. Xblatently missing symbols, etc.
  184. X
  185. XTo compile w/ shared library curses:
  186. Xld -G -Z -s /lib/crt0s.o -o prog prog.o -lm -lcurses_s  /lib/shlib.iCURSES
  187. END_OF_FILE
  188. if test 2646 -ne `wc -c <'README'`; then
  189.     echo shar: \"'README'\" unpacked with wrong size!
  190. fi
  191. # end of 'README'
  192. fi
  193. if test -f 'ccc' -a "${1}" != "-c" ; then 
  194.   echo shar: Will not clobber existing file \"'ccc'\"
  195. else
  196. echo shar: Extracting \"'ccc'\" \(4760 characters\)
  197. sed "s/^X//" >'ccc' <<'END_OF_FILE'
  198. X#########################################################################
  199. X#                                    #
  200. X# Program:        /bin/ccc        (Bourne Shell Script)    #
  201. X# Version:        1.2                        #
  202. X#                                    #
  203. X# Original Coding:    Arnold Robbins - Emory Univ. Computing Center    #
  204. X#                                    #
  205. X# SYNOPSIS                                #
  206. X#    ccc  [ options ]  file  [ file ... ]                #
  207. X#                                    #
  208. X# DESCRIPTION                                #
  209. X#    "ccc" is an interface for the standard C-compiler (/bin/cc) on    #
  210. X#    the AT&T UNIX-pc (aka 3B1) which allows a more natural usage of    #
  211. X#    the shared library facilities on this machine.            #
  212. X#                                    #
  213. X#    To use this script, you must:                    #
  214. X#        2:  Install this script as  /bin/ccc            #
  215. X#                                    #
  216. X#    You may use this replacement "ccc" as you would the original    #
  217. X#    with the added benefit that programs will now be compiled using    #
  218. X#    the shared library.                        #
  219. X#                                    #
  220. X# REVISION HISTORY                            #
  221. X#    09-10-87  V1.0: Jeffery Small  (uunet!hsi!cjsa!jeff)        #
  222. X#            - Add/modify support for -[CUefouLW] & -VS flag    #
  223. X#            - Expanded comments                #
  224. X#            - Performed some minor reorganization.        #
  225. X#    09-22-87  V1.1: Jeffery Small  (uunet!hsi!cjsa!jeff)        #
  226. X#            - Modified script to leave /bin/cc alone     #
  227. X#            - Rename this script to /bin/ccc        #
  228. X#            - Prevent loader-step from starting if an error #
  229. X#                occurs in the compiling stage.        #
  230. X#    01-20-88  V1.2: Jeffery Small  (uunet!hsi!cjsa!jeff)        #
  231. X#            - Added support to allow curses programs to be    #
  232. X#              compiled with the shared library.  This     #
  233. X#              requires the following two support files.    #
  234. X#                (1) /lib/shlib.iCURSES - edited version of    #
  235. X#                /lib/shlib.ifile modified to eliminate    #
  236. X#                conflicts with the curses library. Idea    #
  237. X#                credits    to Emmet P. Gray (fthood!egray)    #
  238. X#                (2) /lib/libCURSES.a - missing routines    #
  239. X#                from /lib/libc.a not defined by the    #
  240. X#                shared libraries.            #
  241. X#                                    #
  242. X#########################################################################
  243. X
  244. XPATH=/bin:/usr/bin:/usr/local/bin
  245. Xexport PATH
  246. X
  247. Xif [ "X`basename $0`" = "Xgccc" ] ;then
  248. X    OCC=${OCC-/usr/local/bin/gcc}
  249. Xelse
  250. X    OCC=${OCC-/bin/cc}        # allows compiler to be renamed
  251. Xfi
  252. X
  253. Xstartoff=/lib/crt0s.o            # use the shared library by default
  254. X#libc=/lib/shlib.ifile
  255. Xlibc=/lib/shlib.iCURSES
  256. X
  257. Xfiles=
  258. Xofiles=
  259. Xldargs=
  260. Xccargs=-c                # have to run $OCC with this
  261. X
  262. Xload=1                    # run ld  (1=yes  0=no)
  263. Xjustprint=0                # just print what would do, -#
  264. Xverbose=0                # be verbose, -v
  265. X
  266. Xwhile [ $# -gt 0 ]
  267. Xdo
  268. X    case "$1" in
  269. X    -C)        ccargs="$ccargs $1"        # cpp flag
  270. X            ;;
  271. X    -[UDI]*)    ccargs="$ccargs $1"        # cpp flags
  272. X            ;;
  273. X    -#)        ccargs="$ccargs $1"        # cc flag
  274. X            justprint=1
  275. X            ;;
  276. X    -c)        load=0                # cc flag
  277. X            ;;
  278. X    -[EPS])        ccargs="$ccargs $1"        # cc flags
  279. X            load=0
  280. X            ;;
  281. X    -g)        ccargs="$ccargs $1"        # cc & ld flags
  282. X            ldargs="$ldargs -lg"
  283. X            startoff=/lib/crt0.o
  284. X            libc=/lib/libc.a
  285. X            ;;
  286. X    -O)        ccargs="$ccargs $1"        # cc flag
  287. X            ;;
  288. X    -Q)        libc=/lib/shlib.iCURSES        # to satisfy cbase
  289. X#            ldargs="$ldargs -lCURSES"
  290. X            ;;
  291. X    -p)        ccargs="$ccargs $1"        # cc & ld flags
  292. X            ldargs="$ldargs -L/lib/libp"
  293. X            startoff=/lib/mcrt0.o
  294. X            libc=/lib/libc.a
  295. X            ;;
  296. X    -W*)        ccargs="$ccargs $1"        # cc flag
  297. X            ;;
  298. X    -680[012]0)    ccargs="$ccargs $1"        # cc flags
  299. X            ;;
  300. X    -v)        ccargs="$ccargs $1"        # cc flag
  301. X            verbose=1
  302. X            ;;
  303. X    -T)        ccargs="$ccargs $1"        # cc & ld flags
  304. X            ldargs="$ldargs -G"
  305. X            ;;
  306. X    -[efouL])    ldargs="$ldargs $1 $2"        # ld flags
  307. X            shift
  308. X            ;;
  309. X    -VS)        ldargs="$ldargs $1 $2"        #ld flags
  310. X            shift
  311. X            ;;
  312. X    -[nNzF])    ;;                # ifile sets load type
  313. X    -ltam)        ;;                # get from shared lib
  314. X    -lc)        ;;                # get from shared lib
  315. X    -ltermlib)    ;;                # get from shared lib
  316. X    -ltermcap)    ;;                # get from shared lib
  317. X    -lcurses)    libc=/lib/shlib.iCURSES
  318. X#            ldargs="$ldargs $1 -lcurses_s"
  319. X            ldargs="$ldargs -lcurses_s"
  320. X            ;;
  321. X    -lcbase)    libc=/lib/shlib.iCURSES
  322. X            ldargs="$ldargs $1 -lcbcu_s"
  323. X            ;;
  324. X    -*)        ldargs="$ldargs $1"        # other flags go to ld
  325. X            ;;
  326. X    *.[ao])        ofiles="$ofiles $1"        # files for ld
  327. X            ;;
  328. X    *.[cs])        files="$files $1"        # files for cc and ld
  329. X            ofiles="$ofiles `basename $1 .[cs]`.o"
  330. X            ;;
  331. X    *)        files="$files $1"        # files(?) for cc & ld
  332. X            ofiles="$ofiles $1"
  333. X            ;;
  334. X    esac
  335. X    shift
  336. Xdone
  337. X
  338. X# We need some special handling when we use the GNU C compiler:
  339. X# First, we need to include the GNU library;
  340. X# Second, `gcc' called without arguments is an error (as opposed to
  341. X# calling `cc' with no args, which does nothing successfully).
  342. X#
  343. X
  344. Xif [ "Xgcc" = "X`basename ${OCC}`" ] ;then
  345. X    ldargs="$ldargs /usr/local/lib/gcc-gnulib"
  346. Xfi >/dev/null
  347. X
  348. Xif [ "X${files}" != "X" ] ;then
  349. X    $OCC $ccargs $files                # compile source files
  350. Xfi
  351. X
  352. Xif [ "$?" != "0" ]                    # exit upon error
  353. Xthen                            # do not attempt ld
  354. X    exit $?
  355. X
  356. Xelif [ "$load" -eq 1 ]                    # run ld phase
  357. Xthen
  358. X    run="/bin/ld $startoff $libc $ofiles $ldargs"
  359. X
  360. X    if [ "$verbose" -eq 1 ]
  361. X    then
  362. X        echo "Loading ($run)..."
  363. X    fi
  364. X
  365. X    if [ "$justprint" -eq 1 ]
  366. X    then
  367. X        echo callsys $run
  368. X    else
  369. X        eval $run
  370. X    fi
  371. Xfi
  372. Xexit $?
  373. END_OF_FILE
  374. if test 4760 -ne `wc -c <'ccc'`; then
  375.     echo shar: \"'ccc'\" unpacked with wrong size!
  376. fi
  377. chmod +x 'ccc'
  378. # end of 'ccc'
  379. fi
  380. if test ! -d 'curses' ; then
  381.     echo shar: Creating directory \"'curses'\"
  382.     mkdir 'curses'
  383. fi
  384. if test -f 'curses/Makefile.curo' -a "${1}" != "-c" ; then 
  385.   echo shar: Will not clobber existing file \"'curses/Makefile.curo'\"
  386. else
  387. echo shar: Extracting \"'curses/Makefile.curo'\" \(2450 characters\)
  388. sed "s/^X//" >'curses/Makefile.curo' <<'END_OF_FILE'
  389. X#
  390. X#    Makefile for Yet Another Shared CC driver
  391. X#
  392. X
  393. XLIBCURSES_S    = /usr/lib/libcurses_s.a
  394. XLIBCURSES    = /usr/lib/libcurses.a
  395. XSHCUR        = ../shcurses.a
  396. X
  397. X# Not used in the Shared Library:
  398. X# ospeed, LINES, COLS are in curses.o and there are things there
  399. X#    I don't want to muck w/ yet.
  400. X# endwin: other people in curses call _endwin (also) :-(
  401. XCURRDEF    = \
  402. X    V2.__sscans.o V2._sprintw.o V2.makenew.o \
  403. X    addch.o beep.o box.o capnames.o cbreak.o \
  404. X    chkinput.o cio.o clear.o clearok.o \
  405. X    copywin.o crmode.o curs_set.o curses.o \
  406. X    def_prog.o del_TERM.o delay.o delay_out.o delch.o deleteln.o \
  407. X    delwin.o doupdate.o draino.o ec_quit.o endwin.o erase.o \
  408. X    erasechar.o fixdelay.o flash.o flushinp.o garbaged.o getch.o \
  409. X    getstr.o getsyx.o gettmode.o halfdelay.o has_ic.o has_il.o idlok.o\
  410. X    initkeypad.o insch.o insdelchar.o insdelline.o insertln.o \
  411. X    intrflush.o keyname.o killchar.o leaveok.o ll_echo.o \
  412. X    ll_init.o ll_newtty.o ll_refresh.o ll_scrdown.o ll_sub.o ll_trm.o \
  413. X    longname.o m_addch.o m_addstr.o m_clear.o m_erase.o m_initscr.o \
  414. X    m_move.o m_newterm.o m_refresh.o makenew.o memSset.o meta.o \
  415. X    mvcur.o mvprintw.o mvscanw.o mvwin.o mvwprintw.o mvwscanw.o napms.o \
  416. X    newpad.o newterm.o nl.o nocbreak.o nocrmode.o nodelay.o nonl.o \
  417. X    noraw.o notimeout.o overlay.o overwrite.o pechochar.o \
  418. X    pnoutref.o pos.o prefresh.o putp.o raw.o \
  419. X    reset_sh.o restart.o ripoffline.o resetty.o saveterm.o savetty.o\
  420. X    scanw.o scr_dump.o scr_init.o scr_rest.o scroll.o \
  421. X    scrollok.o set_TERM.o set_term.o setsyx.o setupterm.o \
  422. X    slk_clear.o slk_init.o slk_label.o slk_nout.o slk_ref.o slk_rest.o \
  423. X    slk_set.o slk_touch.o subpad.o subwin.o termcap.o \
  424. X    tiget.o touchline.o touchwin.o tparm.o tputs.o trace.o trm.o tstp.o \
  425. X    typeahead.o unctrl.o ungetch.o vidputs.o vsscanf.o \
  426. X    vwprintw.o vwscanw.o wattroff.o wattron.o wattrset.o wechochar.o \
  427. X    wnoutref.o wprintw.o wscanw.o
  428. X#cbreak.o  flushinp.o getch.o nl.o nocbreak.o nonl.o resetty.o savetty.o
  429. X#termcap.o tputs.o
  430. X
  431. XSHCURDEF = \
  432. X    addstr.o baudrate.o clrtobot.o clrtoeol.o echo.o fixterm.o \
  433. X    initscr.o keypad.o \
  434. X    move.o noecho.o printw.o refresh.o resetterm.o \
  435. X    setterm.o standout.o tgoto.o 
  436. X
  437. Xall:    $(LIBCURSES_S) $(SHCUR)
  438. X
  439. X$(LIBCURSES_S):    $(LIBCURSES) ../Makefile shmydef.o
  440. X#        ar x $(LIBCURSES) $(CURRDEF)
  441. X        ar x $(LIBCURSES)
  442. X        ar cr $@ $(CURRDEF)
  443. X
  444. X$(SHCUR):    $(LIBCURSES_S) ../Makefile
  445. X        ar cr $@ $(SHCURDEF)
  446. X
  447. Xclean:
  448. X    rm $(CURRDEF) $(SHCURDEF) shmydef.o
  449. X
  450. Xclean2:
  451. X    rm $(SHCURDEF) shmydef.o
  452. X
  453. Xclobber:
  454. X    rm $(LIBCURSES_S) $(SHCUR)
  455. END_OF_FILE
  456. if test 2450 -ne `wc -c <'curses/Makefile.curo'`; then
  457.     echo shar: \"'curses/Makefile.curo'\" unpacked with wrong size!
  458. fi
  459. # end of 'curses/Makefile.curo'
  460. fi
  461. if test -f 'curses/Makefile.curse' -a "${1}" != "-c" ; then 
  462.   echo shar: Will not clobber existing file \"'curses/Makefile.curse'\"
  463. else
  464. echo shar: Extracting \"'curses/Makefile.curse'\" \(2441 characters\)
  465. sed "s/^X//" >'curses/Makefile.curse' <<'END_OF_FILE'
  466. X#
  467. X#    Makefile for Yet Another Shared CC driver
  468. X#
  469. X
  470. XLIBCURSES_S    = /usr/lib/libcurses_s.a
  471. XLIBCURSES    = /usr/lib/libcurses.a
  472. XSHCUR        = ../shcurses.a
  473. X
  474. X# Not used in the Shared Library:
  475. X# ospeed, LINES, COLS are in curses.o and there are things there
  476. X#    I don't want to muck w/ yet.
  477. X# endwin: other people in curses call _endwin (also) :-(
  478. XCURRDEF    = \
  479. X    V2.__sscans.o V2._sprintw.o V2.makenew.o \
  480. X    beep.o box.o capnames.o  \
  481. X    clear.o clearok.o \
  482. X    copywin.o crmode.o curs_set.o \
  483. X    delay_out.o delch.o deleteln.o \
  484. X    draino.o erase.o \
  485. X    erasechar.o flash.o garbaged.o \
  486. X    getstr.o getsyx.o gettmode.o halfdelay.o has_ic.o has_il.o idlok.o\
  487. X    insch.o insertln.o \
  488. X    intrflush.o keyname.o killchar.o leaveok.o \
  489. X    longname.o m_addch.o m_addstr.o m_clear.o m_erase.o m_initscr.o \
  490. X    m_move.o m_newterm.o m_refresh.o meta.o \
  491. X    mvprintw.o mvscanw.o mvwin.o mvwscanw.o napms.o \
  492. X    newpad.o nocrmode.o nodelay.o \
  493. X    notimeout.o overlay.o overwrite.o pechochar.o \
  494. X    pnoutref.o prefresh.o putp.o raw.o \
  495. X    restart.o ripoffline.o \
  496. X    scanw.o scr_dump.o scr_init.o scr_rest.o  \
  497. X    scrollok.o set_TERM.o set_term.o setsyx.o \
  498. X    slk_clear.o slk_label.o slk_nout.o slk_ref.o slk_rest.o \
  499. X    slk_set.o subpad.o subwin.o \
  500. X    tiget.o touchline.o trace.o tstp.o \
  501. X    ungetch.o vsscanf.o \
  502. X    vwscanw.o wattroff.o wattrset.o \
  503. X    wprintw.o wscanw.o
  504. X
  505. XSHCURDEF = \
  506. X    addch.o addstr.o baudrate.o cbreak.o chkinput.o cio.o \
  507. X    clrtobot.o clrtoeol.o curses.o def_prog.o delay.o \
  508. X    ec_quit.o echo.o del_TERM.o delwin.o doupdate.o endwin.o \
  509. X    fixdelay.o fixterm.o flushinp.o getch.o initkeypad.o initscr.o \
  510. X    insdelchar.o insdelline.o keypad.o \
  511. X    ll_echo.o ll_init.o ll_newtty.o ll_refresh.o ll_scrdown.o \
  512. X    ll_sub.o ll_trm.o \
  513. X    makenew.o memSset.o move.o mvcur.o mvwprintw.o \
  514. X    newterm.o noecho.o nl.o nocbreak.o nonl.o noraw.o \
  515. X    pos.o printw.o refresh.o resetterm.o reset_sh.o \
  516. X    resetty.o savetty.o saveterm.o scroll.o setterm.o setupterm.o \
  517. X    slk_init.o slk_touch.o standout.o \
  518. X    termcap.o tgoto.o touchwin.o tparm.o tputs.o trm.o typeahead.o \
  519. X    unctrl.o vidputs.o vwprintw.o wattron.o wechochar.o wnoutref.o
  520. X
  521. Xall:    $(LIBCURSES_S) $(SHCUR)
  522. X
  523. X$(LIBCURSES_S):    $(LIBCURSES) ../Makefile # shmydef.o
  524. X#$(LIBCURSES_S):    $(LIBCURSES) ../Makefile shmydef.o
  525. X#        ar x $(LIBCURSES) $(CURRDEF)
  526. X        ar x $(LIBCURSES)
  527. X        ar cr $@ $(CURRDEF)
  528. X
  529. X$(SHCUR):    $(LIBCURSES_S) ../Makefile
  530. X        ar cr $@ $(SHCURDEF)
  531. X
  532. Xclean:
  533. X    rm $(CURRDEF) $(SHCURDEF) shmydef.o
  534. X
  535. Xclean2:
  536. X    rm $(SHCURDEF) shmydef.o
  537. X
  538. Xclobber:
  539. X    rm $(LIBCURSES_S) $(SHCUR)
  540. END_OF_FILE
  541. if test 2441 -ne `wc -c <'curses/Makefile.curse'`; then
  542.     echo shar: \"'curses/Makefile.curse'\" unpacked with wrong size!
  543. fi
  544. # end of 'curses/Makefile.curse'
  545. fi
  546. if test -f 'curses/shmydef.c' -a "${1}" != "-c" ; then 
  547.   echo shar: Will not clobber existing file \"'curses/shmydef.c'\"
  548. else
  549. echo shar: Extracting \"'curses/shmydef.c'\" \(37 characters\)
  550. sed "s/^X//" >'curses/shmydef.c' <<'END_OF_FILE'
  551. Xchar    *UP, *BC, PC;
  552. Xshort    int    ospeed;
  553. END_OF_FILE
  554. if test 37 -ne `wc -c <'curses/shmydef.c'`; then
  555.     echo shar: \"'curses/shmydef.c'\" unpacked with wrong size!
  556. fi
  557. # end of 'curses/shmydef.c'
  558. fi
  559. if test -f 'daddr.prl' -a "${1}" != "-c" ; then 
  560.   echo shar: Will not clobber existing file \"'daddr.prl'\"
  561. else
  562. echo shar: Extracting \"'daddr.prl'\" \(153 characters\)
  563. sed "s/^X//" >'daddr.prl' <<'END_OF_FILE'
  564. X#!/usr/local/bin/perl
  565. X#
  566. Xwhile (<>) {
  567. X    s/[, ]//g;
  568. X    @fileline = split(/\|/);
  569. X    printf("%s = _dbase + 0x%x;\n", $fileline[0],
  570. X        $fileline[1] - 0x301000);
  571. X}
  572. X
  573. END_OF_FILE
  574. if test 153 -ne `wc -c <'daddr.prl'`; then
  575.     echo shar: \"'daddr.prl'\" unpacked with wrong size!
  576. fi
  577. # end of 'daddr.prl'
  578. fi
  579. if test ! -d 'minic' ; then
  580.     echo shar: Creating directory \"'minic'\"
  581.     mkdir 'minic'
  582. fi
  583. if test -f 'minic/Makefile.minic' -a "${1}" != "-c" ; then 
  584.   echo shar: Will not clobber existing file \"'minic/Makefile.minic'\"
  585. else
  586. echo shar: Extracting \"'minic/Makefile.minic'\" \(1126 characters\)
  587. sed "s/^X//" >'minic/Makefile.minic' <<'END_OF_FILE'
  588. X#
  589. X#    Makefile for Yet Another Shared CC driver
  590. X#
  591. X
  592. XLIBMINIC=    libminic.a
  593. XLIBC=        /lib/libc.a
  594. X
  595. X# Things missing from the shared version of libc.  I used the same list
  596. X# as is in Jeffery Small's ccc, who did the hard part and figured out
  597. X# what was missing (and he credits Jim Apedaile for the 3.5 stuff).
  598. X# Thanks Jeffery and Jim!
  599. X
  600. XMISSING35=    acct.o assert.o aulrem.o biglitpow.o bsearch.o clrerr.o \
  601. X        doprnt.o doscan.o dtop.o fakcu.o findiop.o hsearch.o \
  602. X            lfind.o lockf.o lsearch.o ltostr.o mcount.o mon.o ptod.o \
  603. X        setvbuf.o sigrte.o strtod.o sigtrap.o tell.o tfind.o \
  604. X        tsearch.o vfprintf.o vprintf.o vsprintf.o __cerror.o signal.o
  605. XMISSING351=    acct.o aulrem.o biglitpow.o clrerr.o doprnt.o doscan.o \
  606. X        dtop.o fakcu.o findiop.o lfind.o lockf.o lsearch.o ltostr.o \
  607. X        mcount.o ptod.o setvbuf.o sigrte.o strtod.o tell.o tfind.o \
  608. X        vfprintf.o vprintf.o vsprintf.o __cerror.o signal.o
  609. X
  610. X# Now pick MISSING35 if you're using Version 3.5 of the OS, MISSING351 if
  611. X# you're using version 3.51:
  612. X
  613. X#MISSING=    $(MISSING35)
  614. XMISSING=    $(MISSING351)
  615. X
  616. X$(LIBMINIC):    $(LIBC) ../Makefile
  617. X        ar x $(LIBC) $(MISSING)
  618. X        ar cr $@ $(MISSING)
  619. X
  620. END_OF_FILE
  621. if test 1126 -ne `wc -c <'minic/Makefile.minic'`; then
  622.     echo shar: \"'minic/Makefile.minic'\" unpacked with wrong size!
  623. fi
  624. # end of 'minic/Makefile.minic'
  625. fi
  626. if test -f 'new.iCURSES' -a "${1}" != "-c" ; then 
  627.   echo shar: Will not clobber existing file \"'new.iCURSES'\"
  628. else
  629. echo shar: Extracting \"'new.iCURSES'\" \(10470 characters\)
  630. sed "s/^X//" >'new.iCURSES' <<'END_OF_FILE'
  631. XMEMORY {
  632. X    user_mem : origin = 0x300000 , length = 0x7ff000
  633. X}
  634. X
  635. XSECTIONS {
  636. X    .text 0x310000 BLOCK(1024) : { 
  637. X        shlib.o(.text)
  638. X        .=align(0x10000);
  639. X        extra.o(.text)
  640. X    }
  641. X    GROUP 0x300000 BLOCK(1024) : {
  642. X        .data : { 
  643. X            shlib.o(.data .bss) 
  644. X            extra.o(.data .bss)
  645. X/*            extra.o(.data) */
  646. X        }
  647. X/*        .bss : { extra.o(.bss) }*/
  648. X    }
  649. X}
  650. X
  651. X
  652. Xtimezone = 0x00300000;
  653. Xtzname = 0x00300004;
  654. Xpatblack = 0x00300014;
  655. Xpatwhite = 0x00300034;
  656. Xpatgray = 0x00300054;
  657. Xpatltgray = 0x00300074;
  658. X_iob = 0x0030009c;
  659. X_bufendtab = 0x003001b8;
  660. X_ctype = 0x0030020c;
  661. Xsys_errlist = 0x0030030e;
  662. X_iob2 = 0x00300bc0;
  663. X_buf2endtab = 0x00300f0c;
  664. X_dbase = 0x00301000;
  665. Xerrno = _dbase + 0x0;
  666. Xenviron = _dbase + 0x4;
  667. XxPC = _dbase + 0x8;
  668. XxBC = _dbase + 0xc;
  669. XxUP = _dbase + 0x10;
  670. Xxospeed = _dbase + 0x14;
  671. XxLINES = _dbase + 0x18;
  672. XxCOLS = _dbase + 0x1c;
  673. Xwncur = _dbase + 0x20;
  674. Xoptind = _dbase + 0x22;
  675. Xoptarg = _dbase + 0x26;
  676. Xopterr = _dbase + 0x2a;
  677. Xoptopt = _dbase + 0x2e;
  678. Xsys_nerr = _dbase + 0x32;
  679. XFPA_flag = _dbase + 0x36;
  680. XFPA_s = _dbase + 0x3a;
  681. XFPA_d = _dbase + 0x3e;
  682. X_sibuf = 0x00306000;
  683. X_sobuf = 0x00306408;
  684. X_tbase = 0x00310000;
  685. Xshlbat = _tbase + 0x0;
  686. Xshlbatid = _tbase + 0x6;
  687. Xaccess = _tbase + 0xc;
  688. Xalarm = _tbase + 0x12;
  689. Xbrk = _tbase + 0x18;
  690. Xibrk = _tbase + 0x1e;
  691. Xsbrk = _tbase + 0x24;
  692. Xchdir = _tbase + 0x2a;
  693. Xchmod = _tbase + 0x30;
  694. Xchown = _tbase + 0x36;
  695. Xchroot = _tbase + 0x3c;
  696. Xclose = _tbase + 0x42;
  697. Xcreat = _tbase + 0x48;
  698. Xdup = _tbase + 0x4e;
  699. Xexecl = _tbase + 0x54;
  700. Xexecv = _tbase + 0x5a;
  701. Xexecle = _tbase + 0x60;
  702. Xexecve = _tbase + 0x66;
  703. Xexeclp = _tbase + 0x6c;
  704. Xexecvp = _tbase + 0x72;
  705. Xexit = _tbase + 0x78;
  706. X_exit = _tbase + 0x7e;
  707. Xfcntl = _tbase + 0x84;
  708. Xfork = _tbase + 0x8a;
  709. Xgetpid = _tbase + 0x90;
  710. Xgetpgrp = _tbase + 0x96;
  711. Xgetppid = _tbase + 0x9c;
  712. Xgetuid = _tbase + 0xa2;
  713. Xgeteuid = _tbase + 0xa8;
  714. Xgetgid = _tbase + 0xae;
  715. Xgetegid = _tbase + 0xb4;
  716. Xgtty = _tbase + 0xba;
  717. Xioctl = _tbase + 0xc0;
  718. Xkill = _tbase + 0xc6;
  719. Xlink = _tbase + 0xcc;
  720. Xlocking = _tbase + 0xd2;
  721. Xlseek = _tbase + 0xd8;
  722. Xmknod = _tbase + 0xde;
  723. Xmount = _tbase + 0xe4;
  724. Xmsgctl = _tbase + 0xea;
  725. Xmsgget = _tbase + 0xf0;
  726. Xmsgsnd = _tbase + 0xf6;
  727. Xmsgrcv = _tbase + 0xfc;
  728. Xnice = _tbase + 0x102;
  729. Xopen = _tbase + 0x108;
  730. Xopeni = _tbase + 0x10e;
  731. Xpause = _tbase + 0x114;
  732. Xpipe = _tbase + 0x11a;
  733. Xprofil = _tbase + 0x120;
  734. Xptrace = _tbase + 0x126;
  735. Xread = _tbase + 0x12c;
  736. Xsemctl = _tbase + 0x132;
  737. Xsemget = _tbase + 0x138;
  738. Xsemop = _tbase + 0x13e;
  739. Xsetpgrp = _tbase + 0x144;
  740. Xsetuid = _tbase + 0x14a;
  741. Xsetgid = _tbase + 0x150;
  742. Xshmctl = _tbase + 0x156;
  743. Xshmget = _tbase + 0x15c;
  744. Xshmat = _tbase + 0x162;
  745. Xshmdt = _tbase + 0x168;
  746. Xstat = _tbase + 0x174;
  747. Xstty = _tbase + 0x17a;
  748. Xfstat = _tbase + 0x180;
  749. Xstime = _tbase + 0x186;
  750. Xswrite = _tbase + 0x18c;
  751. Xsync = _tbase + 0x192;
  752. Xsyslocal = _tbase + 0x198;
  753. Xtime = _tbase + 0x19e;
  754. Xtimes = _tbase + 0x1a4;
  755. Xulimit = _tbase + 0x1aa;
  756. Xumask = _tbase + 0x1b0;
  757. Xumount = _tbase + 0x1b6;
  758. Xuname = _tbase + 0x1bc;
  759. Xunlink = _tbase + 0x1c2;
  760. Xustat = _tbase + 0x1c8;
  761. Xutime = _tbase + 0x1ce;
  762. Xwait = _tbase + 0x1d4;
  763. Xwrite = _tbase + 0x1da;
  764. Xabort = _tbase + 0x1e0;
  765. Xabs = _tbase + 0x1e6;
  766. Xatof = _tbase + 0x1ec;
  767. Xclock = _tbase + 0x1f2;
  768. Xcrypt = _tbase + 0x1f8;
  769. Xsetkey = _tbase + 0x1fe;
  770. Xencrypt = _tbase + 0x204;
  771. Xctermid = _tbase + 0x20a;
  772. Xctime = _tbase + 0x210;
  773. Xlocaltime = _tbase + 0x216;
  774. Xgmtime = _tbase + 0x21c;
  775. Xasctime = _tbase + 0x222;
  776. Xtzset = _tbase + 0x228;
  777. Xcuserid = _tbase + 0x22e;
  778. Xecvt = _tbase + 0x234;
  779. Xfcvt = _tbase + 0x23a;
  780. Xgcvt = _tbase + 0x240;
  781. Xfclose = _tbase + 0x246;
  782. Xfflush = _tbase + 0x24c;
  783. Xfopen = _tbase + 0x252;
  784. Xfreopen = _tbase + 0x258;
  785. Xfdopen = _tbase + 0x25e;
  786. Xfread = _tbase + 0x264;
  787. Xfwrite = _tbase + 0x26a;
  788. Xfrexp = _tbase + 0x270;
  789. Xldexp = _tbase + 0x276;
  790. Xmodf = _tbase + 0x27c;
  791. Xfseek = _tbase + 0x282;
  792. Xrewind = _tbase + 0x288;
  793. Xftell = _tbase + 0x28e;
  794. Xftw = _tbase + 0x294;
  795. Xfgetc = _tbase + 0x29a;
  796. Xgetw = _tbase + 0x2a0;
  797. Xgetcwd = _tbase + 0x2a6;
  798. Xgetenv = _tbase + 0x2ac;
  799. Xgetgrent = _tbase + 0x2b2;
  800. Xgetgrgid = _tbase + 0x2b8;
  801. Xgetgrnam = _tbase + 0x2be;
  802. Xsetgrent = _tbase + 0x2c4;
  803. Xendgrent = _tbase + 0x2ca;
  804. Xgetlogin = _tbase + 0x2d0;
  805. Xgetopt = _tbase + 0x2d6;
  806. Xgetpass = _tbase + 0x2dc;
  807. Xgetpw = _tbase + 0x2e2;
  808. Xgetpwent = _tbase + 0x2e8;
  809. Xgetpwuid = _tbase + 0x2ee;
  810. Xgetpwnam = _tbase + 0x2f4;
  811. Xsetpwent = _tbase + 0x2fa;
  812. Xendpwent = _tbase + 0x300;
  813. Xgets = _tbase + 0x306;
  814. Xgetchar = _tbase + 0x30c;
  815. Xfgets = _tbase + 0x312;
  816. Xgetutent = _tbase + 0x318;
  817. Xgetutid = _tbase + 0x31e;
  818. Xgetutline = _tbase + 0x324;
  819. Xpututline = _tbase + 0x32a;
  820. Xsetutent = _tbase + 0x330;
  821. Xendutent = _tbase + 0x336;
  822. Xutmpname = _tbase + 0x33c;
  823. Xmalloc = _tbase + 0x342;
  824. Xfree = _tbase + 0x348;
  825. Xrealloc = _tbase + 0x34e;
  826. Xcalloc = _tbase + 0x354;
  827. Xcfree = _tbase + 0x35a;
  828. Xmemccpy = _tbase + 0x360;
  829. Xmemchr = _tbase + 0x366;
  830. Xmemcmp = _tbase + 0x36c;
  831. Xmemcpy = _tbase + 0x372;
  832. Xmemset = _tbase + 0x378;
  833. Xmktemp = _tbase + 0x37e;
  834. Xmonitor = _tbase + 0x384;
  835. Xperror = _tbase + 0x38a;
  836. Xpopen = _tbase + 0x390;
  837. Xpclose = _tbase + 0x396;
  838. Xprintf = _tbase + 0x39c;
  839. Xfprintf = _tbase + 0x3a2;
  840. Xsprintf = _tbase + 0x3a8;
  841. Xfputc = _tbase + 0x3ae;
  842. Xputw = _tbase + 0x3b4;
  843. Xputpwent = _tbase + 0x3ba;
  844. Xputs = _tbase + 0x3c0;
  845. Xputchar = _tbase + 0x3c6;
  846. Xfputs = _tbase + 0x3cc;
  847. Xscanf = _tbase + 0x3d2;
  848. Xfscanf = _tbase + 0x3d8;
  849. Xsscanf = _tbase + 0x3de;
  850. Xsetbuf = _tbase + 0x3e4;
  851. Xsleep = _tbase + 0x3ea;
  852. Xssignal = _tbase + 0x3f0;
  853. Xgsignal = _tbase + 0x3f6;
  854. Xstrcat = _tbase + 0x3fc;
  855. Xstrncat = _tbase + 0x402;
  856. Xstrcmp = _tbase + 0x408;
  857. Xstrncmp = _tbase + 0x40e;
  858. Xstrcpy = _tbase + 0x414;
  859. Xstrncpy = _tbase + 0x41a;
  860. Xstrlen = _tbase + 0x420;
  861. Xstrchr = _tbase + 0x426;
  862. Xstrrchr = _tbase + 0x42c;
  863. Xstrpbrk = _tbase + 0x432;
  864. Xstrspn = _tbase + 0x438;
  865. Xstrcspn = _tbase + 0x43e;
  866. Xstrtok = _tbase + 0x444;
  867. Xstrtol = _tbase + 0x44a;
  868. Xatol = _tbase + 0x450;
  869. Xatoi = _tbase + 0x456;
  870. Xswab = _tbase + 0x45c;
  871. Xsystem = _tbase + 0x462;
  872. Xtmpfile = _tbase + 0x468;
  873. Xtmpnam = _tbase + 0x46e;
  874. Xtempnam = _tbase + 0x474;
  875. Xttyname = _tbase + 0x47a;
  876. Xisatty = _tbase + 0x480;
  877. Xttyslot = _tbase + 0x486;
  878. Xungetc = _tbase + 0x48c;
  879. X_filbuf = _tbase + 0x492;
  880. X_flsbuf = _tbase + 0x498;
  881. Xlmul__ = _tbase + 0x49e;
  882. Xlmul = _tbase + 0x4a4;
  883. Xldiv__ = _tbase + 0x4aa;
  884. Xldiv = _tbase + 0x4b0;
  885. Xlrem__ = _tbase + 0x4b6;
  886. Xlrem = _tbase + 0x4bc;
  887. Xaldiv = _tbase + 0x4c2;
  888. Xalmul = _tbase + 0x4c8;
  889. Xalrem = _tbase + 0x4ce;
  890. Xulmul = _tbase + 0x4d4;
  891. Xuldiv__ = _tbase + 0x4da;
  892. Xuldiv = _tbase + 0x4e0;
  893. Xulrem__ = _tbase + 0x4e6;
  894. Xulrem = _tbase + 0x4ec;
  895. Xqsort = _tbase + 0x4f2;
  896. Xl3tol = _tbase + 0x4f8;
  897. Xltol3 = _tbase + 0x4fe;
  898. Xxtgetflag = _tbase + 0x504;
  899. Xxtgetent = _tbase + 0x50a;
  900. Xxtgetstr = _tbase + 0x510;
  901. Xxtgetnum = _tbase + 0x516;
  902. Xxtgoto = _tbase + 0x51c;
  903. Xxtputs = _tbase + 0x522;
  904. Xform = _tbase + 0x528;
  905. Xmenu = _tbase + 0x52e;
  906. Xmessage = _tbase + 0x534;
  907. Xsetattr = _tbase + 0x53a;
  908. Xpb_open = _tbase + 0x540;
  909. Xadf_gtxcd = _tbase + 0x546;
  910. Xadf_gtwrd = _tbase + 0x54c;
  911. Xpb_gets = _tbase + 0x552;
  912. Xpb_check = _tbase + 0x558;
  913. Xpb_weof = _tbase + 0x55e;
  914. Xpb_seek = _tbase + 0x564;
  915. Xpb_puts = _tbase + 0x56a;
  916. Xpb_name = _tbase + 0x570;
  917. Xpb_empty = _tbase + 0x576;
  918. Xpb_gbuf = _tbase + 0x57c;
  919. Xadf_gttok = _tbase + 0x582;
  920. Xxwrefresh = _tbase + 0x588;
  921. Xtrack = _tbase + 0x58e;
  922. Xwcreate = _tbase + 0x594;
  923. Xxinitscr = _tbase + 0x59a;
  924. Xxcbreak = _tbase + 0x5a0;
  925. Xattroff = _tbase + 0x5a6;
  926. Xxnl = _tbase + 0x5ac;
  927. Xattron = _tbase + 0x5b2;
  928. Xxflushinp = _tbase + 0x5b8;
  929. Xxnoecho = _tbase + 0x5be;
  930. Xinch = _tbase + 0x5c4;
  931. Xgetch = _tbase + 0x5ca;
  932. Xxsavetty = _tbase + 0x5d0;
  933. Xxresetty = _tbase + 0x5d6;
  934. Xxecho = _tbase + 0x5dc;
  935. Xxnocbreak = _tbase + 0x5e2;
  936. Xxnonl = _tbase + 0x5e8;
  937. Xwdelete = _tbase + 0x5ee;
  938. Xwprexec = _tbase + 0x5f4;
  939. Xwpostwait = _tbase + 0x5fa;
  940. Xwgetc = _tbase + 0x600;
  941. Xkcodemap = _tbase + 0x606;
  942. Xxkeypad = _tbase + 0x60c;
  943. Xwsigintr = _tbase + 0x612;
  944. Xwind = _tbase + 0x618;
  945. Xwsigcatch = _tbase + 0x61e;
  946. Xwinit = _tbase + 0x624;
  947. Xwsetbuf = _tbase + 0x62a;
  948. Xiswind = _tbase + 0x630;
  949. Xwexit = _tbase + 0x636;
  950. Xxendwin = _tbase + 0x63c;
  951. Xwgetpos = _tbase + 0x642;
  952. Xwgoto = _tbase + 0x648;
  953. Xwinstr = _tbase + 0x64e;
  954. Xwreadmouse = _tbase + 0x654;
  955. Xwsetmouse = _tbase + 0x65a;
  956. Xwgetmouse = _tbase + 0x660;
  957. Xwnl = _tbase + 0x666;
  958. Xwndelay = _tbase + 0x66c;
  959. Xwprompt = _tbase + 0x672;
  960. Xwguser = _tbase + 0x678;
  961. Xwcmd = _tbase + 0x67e;
  962. Xwslk = _tbase + 0x684;
  963. Xwlabel = _tbase + 0x68a;
  964. Xwuser = _tbase + 0x690;
  965. Xwprintf = _tbase + 0x696;
  966. Xxprintw = _tbase + 0x69c;
  967. Xwputc = _tbase + 0x6a2;
  968. Xwputs = _tbase + 0x6a8;
  969. Xwrastop = _tbase + 0x6ae;
  970. Xwselect = _tbase + 0x6b4;
  971. Xwgetsel = _tbase + 0x6ba;
  972. Xwsetstat = _tbase + 0x6c0;
  973. Xwgetstat = _tbase + 0x6c6;
  974. Xsetty = _tbase + 0x6cc;
  975. Xxfixterm = _tbase + 0x6d2;
  976. Xphysclr = _tbase + 0x6d8;
  977. Xxresetterm = _tbase + 0x6de;
  978. Xxsetterm = _tbase + 0x6e4;
  979. Xgetterm = _tbase + 0x6ea;
  980. Xxbaudrate = _tbase + 0x6f0;
  981. Xparseline = _tbase + 0x6f6;
  982. Xslkcol = _tbase + 0x6fc;
  983. Xsetjmp = _tbase + 0x702;
  984. Xlongjmp = _tbase + 0x708;
  985. Xafmulf = _tbase + 0x70e;
  986. Xafdivf = _tbase + 0x714;
  987. Xafaddf = _tbase + 0x71a;
  988. X_cvfd = _tbase + 0x720;
  989. X_cvif = _tbase + 0x726;
  990. Xfltused = _tbase + 0x72c;
  991. Xnlist = _tbase + 0x732;
  992. Xfmul = _tbase + 0x738;
  993. Xfdiv = _tbase + 0x73e;
  994. Xfadd = _tbase + 0x744;
  995. Xfsub = _tbase + 0x74a;
  996. X_cvdf = _tbase + 0x750;
  997. X_cvdi = _tbase + 0x756;
  998. X_cvid = _tbase + 0x75c;
  999. X_cvfi = _tbase + 0x762;
  1000. Xafadd = _tbase + 0x768;
  1001. Xafsub = _tbase + 0x76e;
  1002. Xafsubf = _tbase + 0x774;
  1003. Xafmul = _tbase + 0x77a;
  1004. Xexhelp = _tbase + 0x780;
  1005. Xtolower = _tbase + 0x786;
  1006. Xwicon = _tbase + 0x78c;
  1007. Xwicoff = _tbase + 0x792;
  1008. Xtoupper = _tbase + 0x798;
  1009. Xl64a = _tbase + 0x79e;
  1010. Xa64l = _tbase + 0x7a4;
  1011. X_bufsync = _tbase + 0x7aa;
  1012. Xsetuname = _tbase + 0x7b0;
  1013. Xauldiv = _tbase + 0x7b6;
  1014. Xeprintf = _tbase + 0x7bc;
  1015. Xdbsub__ = _tbase + 0x7c2;
  1016. Xdbadd__ = _tbase + 0x7c8;
  1017. Xdbdiv__ = _tbase + 0x7ce;
  1018. Xdbmul__ = _tbase + 0x7d4;
  1019. Xltodb__ = _tbase + 0x7da;
  1020. Xdbtol__ = _tbase + 0x7e0;
  1021. Xdbtofl__ = _tbase + 0x7e6;
  1022. Xfltodb__ = _tbase + 0x7ec;
  1023. Xltofl__ = _tbase + 0x7f2;
  1024. Xfltol__ = _tbase + 0x7f8;
  1025. Xultodb__ = _tbase + 0x7fe;
  1026. Xultofl__ = _tbase + 0x804;
  1027. Xaulmul = _tbase + 0x80a;
  1028. Xafdiv = _tbase + 0x810;
  1029. Xdbtst__ = _tbase + 0x816;
  1030. Xfltst__ = _tbase + 0x81c;
  1031. Xplock = _tbase + 0x822;
  1032. Xdial = _tbase + 0x828;
  1033. Xcallout = _tbase + 0x82e;
  1034. Xundial = _tbase + 0x834;
  1035. Xdrand48 = _tbase + 0x83a;
  1036. Xerand48 = _tbase + 0x840;
  1037. Xlrand48 = _tbase + 0x846;
  1038. Xmrand48 = _tbase + 0x84c;
  1039. Xsrand48 = _tbase + 0x852;
  1040. Xjrand48 = _tbase + 0x858;
  1041. Xseed48 = _tbase + 0x85e;
  1042. Xlcong48 = _tbase + 0x864;
  1043. Xrand = _tbase + 0x86a;
  1044. Xsrand = _tbase + 0x870;
  1045. Xftok = _tbase + 0x876;
  1046. Xputenv = _tbase + 0x87c;
  1047. Xtargets = _tbase + 0x882;
  1048. Xn_targets = _tbase + 0x888;
  1049. Xwtargeton = _tbase + 0x88e;
  1050. Xw_target = _tbase + 0x894;
  1051. X_fpachk = _tbase + 0x89a;
  1052. X_assert = _tbase + 0x8a0;
  1053. Xbsearch = _tbase + 0x8a6;
  1054. Xhcreate = _tbase + 0x8ac;
  1055. Xhsearch = _tbase + 0x8b2;
  1056. Xhdestroy = _tbase + 0x8b8;
  1057. Xtsearch = _tbase + 0x8be;
  1058. Xtdelete = _tbase + 0x8c4;
  1059. Xtwalk = _tbase + 0x8ca;
  1060. Xnrand48 = _tbase + 0x8d0;
  1061. END_OF_FILE
  1062. if test 10470 -ne `wc -c <'new.iCURSES'`; then
  1063.     echo shar: \"'new.iCURSES'\" unpacked with wrong size!
  1064. fi
  1065. # end of 'new.iCURSES'
  1066. fi
  1067. if test -f 'new.ifile' -a "${1}" != "-c" ; then 
  1068.   echo shar: Will not clobber existing file \"'new.ifile'\"
  1069. else
  1070. echo shar: Extracting \"'new.ifile'\" \(10418 characters\)
  1071. sed "s/^X//" >'new.ifile' <<'END_OF_FILE'
  1072. XMEMORY {
  1073. X    user_mem : origin = 0x300000 , length = 0x7ff000
  1074. X}
  1075. X
  1076. XSECTIONS {
  1077. X    .text 0x310000 BLOCK(1024) : { 
  1078. X        shlib.o(.text)
  1079. X        .=align(0x10000);
  1080. X        extra.o(.text)
  1081. X    }
  1082. X    GROUP 0x300000 BLOCK(1024) : {
  1083. X        .data : { 
  1084. X            shlib.o(.data .bss) 
  1085. X            extra.o(.data .bss) 
  1086. X        }
  1087. X/*        .bss : { extra.o(.bss) }*/
  1088. X    }
  1089. X}
  1090. X
  1091. X
  1092. Xtimezone = 0x00300000;
  1093. Xtzname = 0x00300004;
  1094. Xpatblack = 0x00300014;
  1095. Xpatwhite = 0x00300034;
  1096. Xpatgray = 0x00300054;
  1097. Xpatltgray = 0x00300074;
  1098. X_iob = 0x0030009c;
  1099. X_bufendtab = 0x003001b8;
  1100. X_ctype = 0x0030020c;
  1101. Xsys_errlist = 0x0030030e;
  1102. X_iob2 = 0x00300bc0;
  1103. X_buf2endtab = 0x00300f0c;
  1104. X_dbase = 0x00301000;
  1105. Xerrno = _dbase + 0x0;
  1106. Xenviron = _dbase + 0x4;
  1107. XPC = _dbase + 0x8;
  1108. XBC = _dbase + 0xc;
  1109. XUP = _dbase + 0x10;
  1110. Xospeed = _dbase + 0x14;
  1111. XLINES = _dbase + 0x18;
  1112. XCOLS = _dbase + 0x1c;
  1113. Xwncur = _dbase + 0x20;
  1114. Xoptind = _dbase + 0x22;
  1115. Xoptarg = _dbase + 0x26;
  1116. Xopterr = _dbase + 0x2a;
  1117. Xoptopt = _dbase + 0x2e;
  1118. Xsys_nerr = _dbase + 0x32;
  1119. XFPA_flag = _dbase + 0x36;
  1120. XFPA_s = _dbase + 0x3a;
  1121. XFPA_d = _dbase + 0x3e;
  1122. X_sibuf = 0x00306000;
  1123. X_sobuf = 0x00306408;
  1124. X_tbase = 0x00310000;
  1125. Xshlbat = _tbase + 0x0;
  1126. Xshlbatid = _tbase + 0x6;
  1127. Xaccess = _tbase + 0xc;
  1128. Xalarm = _tbase + 0x12;
  1129. Xbrk = _tbase + 0x18;
  1130. Xibrk = _tbase + 0x1e;
  1131. Xsbrk = _tbase + 0x24;
  1132. Xchdir = _tbase + 0x2a;
  1133. Xchmod = _tbase + 0x30;
  1134. Xchown = _tbase + 0x36;
  1135. Xchroot = _tbase + 0x3c;
  1136. Xclose = _tbase + 0x42;
  1137. Xcreat = _tbase + 0x48;
  1138. Xdup = _tbase + 0x4e;
  1139. Xexecl = _tbase + 0x54;
  1140. Xexecv = _tbase + 0x5a;
  1141. Xexecle = _tbase + 0x60;
  1142. Xexecve = _tbase + 0x66;
  1143. Xexeclp = _tbase + 0x6c;
  1144. Xexecvp = _tbase + 0x72;
  1145. Xexit = _tbase + 0x78;
  1146. X_exit = _tbase + 0x7e;
  1147. Xfcntl = _tbase + 0x84;
  1148. Xfork = _tbase + 0x8a;
  1149. Xgetpid = _tbase + 0x90;
  1150. Xgetpgrp = _tbase + 0x96;
  1151. Xgetppid = _tbase + 0x9c;
  1152. Xgetuid = _tbase + 0xa2;
  1153. Xgeteuid = _tbase + 0xa8;
  1154. Xgetgid = _tbase + 0xae;
  1155. Xgetegid = _tbase + 0xb4;
  1156. Xgtty = _tbase + 0xba;
  1157. Xioctl = _tbase + 0xc0;
  1158. Xkill = _tbase + 0xc6;
  1159. Xlink = _tbase + 0xcc;
  1160. Xlocking = _tbase + 0xd2;
  1161. Xlseek = _tbase + 0xd8;
  1162. Xmknod = _tbase + 0xde;
  1163. Xmount = _tbase + 0xe4;
  1164. Xmsgctl = _tbase + 0xea;
  1165. Xmsgget = _tbase + 0xf0;
  1166. Xmsgsnd = _tbase + 0xf6;
  1167. Xmsgrcv = _tbase + 0xfc;
  1168. Xnice = _tbase + 0x102;
  1169. Xopen = _tbase + 0x108;
  1170. Xopeni = _tbase + 0x10e;
  1171. Xpause = _tbase + 0x114;
  1172. Xpipe = _tbase + 0x11a;
  1173. Xprofil = _tbase + 0x120;
  1174. Xptrace = _tbase + 0x126;
  1175. Xread = _tbase + 0x12c;
  1176. Xsemctl = _tbase + 0x132;
  1177. Xsemget = _tbase + 0x138;
  1178. Xsemop = _tbase + 0x13e;
  1179. Xsetpgrp = _tbase + 0x144;
  1180. Xsetuid = _tbase + 0x14a;
  1181. Xsetgid = _tbase + 0x150;
  1182. Xshmctl = _tbase + 0x156;
  1183. Xshmget = _tbase + 0x15c;
  1184. Xshmat = _tbase + 0x162;
  1185. Xshmdt = _tbase + 0x168;
  1186. Xstat = _tbase + 0x174;
  1187. Xstty = _tbase + 0x17a;
  1188. Xfstat = _tbase + 0x180;
  1189. Xstime = _tbase + 0x186;
  1190. Xswrite = _tbase + 0x18c;
  1191. Xsync = _tbase + 0x192;
  1192. Xsyslocal = _tbase + 0x198;
  1193. Xtime = _tbase + 0x19e;
  1194. Xtimes = _tbase + 0x1a4;
  1195. Xulimit = _tbase + 0x1aa;
  1196. Xumask = _tbase + 0x1b0;
  1197. Xumount = _tbase + 0x1b6;
  1198. Xuname = _tbase + 0x1bc;
  1199. Xunlink = _tbase + 0x1c2;
  1200. Xustat = _tbase + 0x1c8;
  1201. Xutime = _tbase + 0x1ce;
  1202. Xwait = _tbase + 0x1d4;
  1203. Xwrite = _tbase + 0x1da;
  1204. Xabort = _tbase + 0x1e0;
  1205. Xabs = _tbase + 0x1e6;
  1206. Xatof = _tbase + 0x1ec;
  1207. Xclock = _tbase + 0x1f2;
  1208. Xcrypt = _tbase + 0x1f8;
  1209. Xsetkey = _tbase + 0x1fe;
  1210. Xencrypt = _tbase + 0x204;
  1211. Xctermid = _tbase + 0x20a;
  1212. Xctime = _tbase + 0x210;
  1213. Xlocaltime = _tbase + 0x216;
  1214. Xgmtime = _tbase + 0x21c;
  1215. Xasctime = _tbase + 0x222;
  1216. Xtzset = _tbase + 0x228;
  1217. Xcuserid = _tbase + 0x22e;
  1218. Xecvt = _tbase + 0x234;
  1219. Xfcvt = _tbase + 0x23a;
  1220. Xgcvt = _tbase + 0x240;
  1221. Xfclose = _tbase + 0x246;
  1222. Xfflush = _tbase + 0x24c;
  1223. Xfopen = _tbase + 0x252;
  1224. Xfreopen = _tbase + 0x258;
  1225. Xfdopen = _tbase + 0x25e;
  1226. Xfread = _tbase + 0x264;
  1227. Xfwrite = _tbase + 0x26a;
  1228. Xfrexp = _tbase + 0x270;
  1229. Xldexp = _tbase + 0x276;
  1230. Xmodf = _tbase + 0x27c;
  1231. Xfseek = _tbase + 0x282;
  1232. Xrewind = _tbase + 0x288;
  1233. Xftell = _tbase + 0x28e;
  1234. Xftw = _tbase + 0x294;
  1235. Xfgetc = _tbase + 0x29a;
  1236. Xgetw = _tbase + 0x2a0;
  1237. Xgetcwd = _tbase + 0x2a6;
  1238. Xgetenv = _tbase + 0x2ac;
  1239. Xgetgrent = _tbase + 0x2b2;
  1240. Xgetgrgid = _tbase + 0x2b8;
  1241. Xgetgrnam = _tbase + 0x2be;
  1242. Xsetgrent = _tbase + 0x2c4;
  1243. Xendgrent = _tbase + 0x2ca;
  1244. Xgetlogin = _tbase + 0x2d0;
  1245. Xgetopt = _tbase + 0x2d6;
  1246. Xgetpass = _tbase + 0x2dc;
  1247. Xgetpw = _tbase + 0x2e2;
  1248. Xgetpwent = _tbase + 0x2e8;
  1249. Xgetpwuid = _tbase + 0x2ee;
  1250. Xgetpwnam = _tbase + 0x2f4;
  1251. Xsetpwent = _tbase + 0x2fa;
  1252. Xendpwent = _tbase + 0x300;
  1253. Xgets = _tbase + 0x306;
  1254. Xgetchar = _tbase + 0x30c;
  1255. Xfgets = _tbase + 0x312;
  1256. Xgetutent = _tbase + 0x318;
  1257. Xgetutid = _tbase + 0x31e;
  1258. Xgetutline = _tbase + 0x324;
  1259. Xpututline = _tbase + 0x32a;
  1260. Xsetutent = _tbase + 0x330;
  1261. Xendutent = _tbase + 0x336;
  1262. Xutmpname = _tbase + 0x33c;
  1263. Xmalloc = _tbase + 0x342;
  1264. Xfree = _tbase + 0x348;
  1265. Xrealloc = _tbase + 0x34e;
  1266. Xcalloc = _tbase + 0x354;
  1267. Xcfree = _tbase + 0x35a;
  1268. Xmemccpy = _tbase + 0x360;
  1269. Xmemchr = _tbase + 0x366;
  1270. Xmemcmp = _tbase + 0x36c;
  1271. Xmemcpy = _tbase + 0x372;
  1272. Xmemset = _tbase + 0x378;
  1273. Xmktemp = _tbase + 0x37e;
  1274. Xmonitor = _tbase + 0x384;
  1275. Xperror = _tbase + 0x38a;
  1276. Xpopen = _tbase + 0x390;
  1277. Xpclose = _tbase + 0x396;
  1278. Xprintf = _tbase + 0x39c;
  1279. Xfprintf = _tbase + 0x3a2;
  1280. Xsprintf = _tbase + 0x3a8;
  1281. Xfputc = _tbase + 0x3ae;
  1282. Xputw = _tbase + 0x3b4;
  1283. Xputpwent = _tbase + 0x3ba;
  1284. Xputs = _tbase + 0x3c0;
  1285. Xputchar = _tbase + 0x3c6;
  1286. Xfputs = _tbase + 0x3cc;
  1287. Xscanf = _tbase + 0x3d2;
  1288. Xfscanf = _tbase + 0x3d8;
  1289. Xsscanf = _tbase + 0x3de;
  1290. Xsetbuf = _tbase + 0x3e4;
  1291. Xsleep = _tbase + 0x3ea;
  1292. Xssignal = _tbase + 0x3f0;
  1293. Xgsignal = _tbase + 0x3f6;
  1294. Xstrcat = _tbase + 0x3fc;
  1295. Xstrncat = _tbase + 0x402;
  1296. Xstrcmp = _tbase + 0x408;
  1297. Xstrncmp = _tbase + 0x40e;
  1298. Xstrcpy = _tbase + 0x414;
  1299. Xstrncpy = _tbase + 0x41a;
  1300. Xstrlen = _tbase + 0x420;
  1301. Xstrchr = _tbase + 0x426;
  1302. Xstrrchr = _tbase + 0x42c;
  1303. Xstrpbrk = _tbase + 0x432;
  1304. Xstrspn = _tbase + 0x438;
  1305. Xstrcspn = _tbase + 0x43e;
  1306. Xstrtok = _tbase + 0x444;
  1307. Xstrtol = _tbase + 0x44a;
  1308. Xatol = _tbase + 0x450;
  1309. Xatoi = _tbase + 0x456;
  1310. Xswab = _tbase + 0x45c;
  1311. Xsystem = _tbase + 0x462;
  1312. Xtmpfile = _tbase + 0x468;
  1313. Xtmpnam = _tbase + 0x46e;
  1314. Xtempnam = _tbase + 0x474;
  1315. Xttyname = _tbase + 0x47a;
  1316. Xisatty = _tbase + 0x480;
  1317. Xttyslot = _tbase + 0x486;
  1318. Xungetc = _tbase + 0x48c;
  1319. X_filbuf = _tbase + 0x492;
  1320. X_flsbuf = _tbase + 0x498;
  1321. Xlmul__ = _tbase + 0x49e;
  1322. Xlmul = _tbase + 0x4a4;
  1323. Xldiv__ = _tbase + 0x4aa;
  1324. Xldiv = _tbase + 0x4b0;
  1325. Xlrem__ = _tbase + 0x4b6;
  1326. Xlrem = _tbase + 0x4bc;
  1327. Xaldiv = _tbase + 0x4c2;
  1328. Xalmul = _tbase + 0x4c8;
  1329. Xalrem = _tbase + 0x4ce;
  1330. Xulmul = _tbase + 0x4d4;
  1331. Xuldiv__ = _tbase + 0x4da;
  1332. Xuldiv = _tbase + 0x4e0;
  1333. Xulrem__ = _tbase + 0x4e6;
  1334. Xulrem = _tbase + 0x4ec;
  1335. Xqsort = _tbase + 0x4f2;
  1336. Xl3tol = _tbase + 0x4f8;
  1337. Xltol3 = _tbase + 0x4fe;
  1338. Xtgetflag = _tbase + 0x504;
  1339. Xtgetent = _tbase + 0x50a;
  1340. Xtgetstr = _tbase + 0x510;
  1341. Xtgetnum = _tbase + 0x516;
  1342. Xtgoto = _tbase + 0x51c;
  1343. Xtputs = _tbase + 0x522;
  1344. Xform = _tbase + 0x528;
  1345. Xmenu = _tbase + 0x52e;
  1346. Xmessage = _tbase + 0x534;
  1347. Xsetattr = _tbase + 0x53a;
  1348. Xpb_open = _tbase + 0x540;
  1349. Xadf_gtxcd = _tbase + 0x546;
  1350. Xadf_gtwrd = _tbase + 0x54c;
  1351. Xpb_gets = _tbase + 0x552;
  1352. Xpb_check = _tbase + 0x558;
  1353. Xpb_weof = _tbase + 0x55e;
  1354. Xpb_seek = _tbase + 0x564;
  1355. Xpb_puts = _tbase + 0x56a;
  1356. Xpb_name = _tbase + 0x570;
  1357. Xpb_empty = _tbase + 0x576;
  1358. Xpb_gbuf = _tbase + 0x57c;
  1359. Xadf_gttok = _tbase + 0x582;
  1360. Xwrefresh = _tbase + 0x588;
  1361. Xtrack = _tbase + 0x58e;
  1362. Xwcreate = _tbase + 0x594;
  1363. Xinitscr = _tbase + 0x59a;
  1364. Xcbreak = _tbase + 0x5a0;
  1365. Xattroff = _tbase + 0x5a6;
  1366. Xnl = _tbase + 0x5ac;
  1367. Xattron = _tbase + 0x5b2;
  1368. Xflushinp = _tbase + 0x5b8;
  1369. Xnoecho = _tbase + 0x5be;
  1370. Xinch = _tbase + 0x5c4;
  1371. Xgetch = _tbase + 0x5ca;
  1372. Xsavetty = _tbase + 0x5d0;
  1373. Xresetty = _tbase + 0x5d6;
  1374. Xecho = _tbase + 0x5dc;
  1375. Xnocbreak = _tbase + 0x5e2;
  1376. Xnonl = _tbase + 0x5e8;
  1377. Xwdelete = _tbase + 0x5ee;
  1378. Xwprexec = _tbase + 0x5f4;
  1379. Xwpostwait = _tbase + 0x5fa;
  1380. Xwgetc = _tbase + 0x600;
  1381. Xkcodemap = _tbase + 0x606;
  1382. Xkeypad = _tbase + 0x60c;
  1383. Xwsigintr = _tbase + 0x612;
  1384. Xwind = _tbase + 0x618;
  1385. Xwsigcatch = _tbase + 0x61e;
  1386. Xwinit = _tbase + 0x624;
  1387. Xwsetbuf = _tbase + 0x62a;
  1388. Xiswind = _tbase + 0x630;
  1389. Xwexit = _tbase + 0x636;
  1390. Xendwin = _tbase + 0x63c;
  1391. Xwgetpos = _tbase + 0x642;
  1392. Xwgoto = _tbase + 0x648;
  1393. Xwinstr = _tbase + 0x64e;
  1394. Xwreadmouse = _tbase + 0x654;
  1395. Xwsetmouse = _tbase + 0x65a;
  1396. Xwgetmouse = _tbase + 0x660;
  1397. Xwnl = _tbase + 0x666;
  1398. Xwndelay = _tbase + 0x66c;
  1399. Xwprompt = _tbase + 0x672;
  1400. Xwguser = _tbase + 0x678;
  1401. Xwcmd = _tbase + 0x67e;
  1402. Xwslk = _tbase + 0x684;
  1403. Xwlabel = _tbase + 0x68a;
  1404. Xwuser = _tbase + 0x690;
  1405. Xwprintf = _tbase + 0x696;
  1406. Xprintw = _tbase + 0x69c;
  1407. Xwputc = _tbase + 0x6a2;
  1408. Xwputs = _tbase + 0x6a8;
  1409. Xwrastop = _tbase + 0x6ae;
  1410. Xwselect = _tbase + 0x6b4;
  1411. Xwgetsel = _tbase + 0x6ba;
  1412. Xwsetstat = _tbase + 0x6c0;
  1413. Xwgetstat = _tbase + 0x6c6;
  1414. Xsetty = _tbase + 0x6cc;
  1415. Xfixterm = _tbase + 0x6d2;
  1416. Xphysclr = _tbase + 0x6d8;
  1417. Xresetterm = _tbase + 0x6de;
  1418. Xsetterm = _tbase + 0x6e4;
  1419. Xgetterm = _tbase + 0x6ea;
  1420. Xbaudrate = _tbase + 0x6f0;
  1421. Xparseline = _tbase + 0x6f6;
  1422. Xslkcol = _tbase + 0x6fc;
  1423. Xsetjmp = _tbase + 0x702;
  1424. Xlongjmp = _tbase + 0x708;
  1425. Xafmulf = _tbase + 0x70e;
  1426. Xafdivf = _tbase + 0x714;
  1427. Xafaddf = _tbase + 0x71a;
  1428. X_cvfd = _tbase + 0x720;
  1429. X_cvif = _tbase + 0x726;
  1430. Xfltused = _tbase + 0x72c;
  1431. Xnlist = _tbase + 0x732;
  1432. Xfmul = _tbase + 0x738;
  1433. Xfdiv = _tbase + 0x73e;
  1434. Xfadd = _tbase + 0x744;
  1435. Xfsub = _tbase + 0x74a;
  1436. X_cvdf = _tbase + 0x750;
  1437. X_cvdi = _tbase + 0x756;
  1438. X_cvid = _tbase + 0x75c;
  1439. X_cvfi = _tbase + 0x762;
  1440. Xafadd = _tbase + 0x768;
  1441. Xafsub = _tbase + 0x76e;
  1442. Xafsubf = _tbase + 0x774;
  1443. Xafmul = _tbase + 0x77a;
  1444. Xexhelp = _tbase + 0x780;
  1445. Xtolower = _tbase + 0x786;
  1446. Xwicon = _tbase + 0x78c;
  1447. Xwicoff = _tbase + 0x792;
  1448. Xtoupper = _tbase + 0x798;
  1449. Xl64a = _tbase + 0x79e;
  1450. Xa64l = _tbase + 0x7a4;
  1451. X_bufsync = _tbase + 0x7aa;
  1452. Xsetuname = _tbase + 0x7b0;
  1453. Xauldiv = _tbase + 0x7b6;
  1454. Xeprintf = _tbase + 0x7bc;
  1455. Xdbsub__ = _tbase + 0x7c2;
  1456. Xdbadd__ = _tbase + 0x7c8;
  1457. Xdbdiv__ = _tbase + 0x7ce;
  1458. Xdbmul__ = _tbase + 0x7d4;
  1459. Xltodb__ = _tbase + 0x7da;
  1460. Xdbtol__ = _tbase + 0x7e0;
  1461. Xdbtofl__ = _tbase + 0x7e6;
  1462. Xfltodb__ = _tbase + 0x7ec;
  1463. Xltofl__ = _tbase + 0x7f2;
  1464. Xfltol__ = _tbase + 0x7f8;
  1465. Xultodb__ = _tbase + 0x7fe;
  1466. Xultofl__ = _tbase + 0x804;
  1467. Xaulmul = _tbase + 0x80a;
  1468. Xafdiv = _tbase + 0x810;
  1469. Xdbtst__ = _tbase + 0x816;
  1470. Xfltst__ = _tbase + 0x81c;
  1471. Xplock = _tbase + 0x822;
  1472. Xdial = _tbase + 0x828;
  1473. Xcallout = _tbase + 0x82e;
  1474. Xundial = _tbase + 0x834;
  1475. Xdrand48 = _tbase + 0x83a;
  1476. Xerand48 = _tbase + 0x840;
  1477. Xlrand48 = _tbase + 0x846;
  1478. Xmrand48 = _tbase + 0x84c;
  1479. Xsrand48 = _tbase + 0x852;
  1480. Xjrand48 = _tbase + 0x858;
  1481. Xseed48 = _tbase + 0x85e;
  1482. Xlcong48 = _tbase + 0x864;
  1483. Xrand = _tbase + 0x86a;
  1484. Xsrand = _tbase + 0x870;
  1485. Xftok = _tbase + 0x876;
  1486. Xputenv = _tbase + 0x87c;
  1487. Xtargets = _tbase + 0x882;
  1488. Xn_targets = _tbase + 0x888;
  1489. Xwtargeton = _tbase + 0x88e;
  1490. Xw_target = _tbase + 0x894;
  1491. X_fpachk = _tbase + 0x89a;
  1492. X_assert = _tbase + 0x8a0;
  1493. Xbsearch = _tbase + 0x8a6;
  1494. Xhcreate = _tbase + 0x8ac;
  1495. Xhsearch = _tbase + 0x8b2;
  1496. Xhdestroy = _tbase + 0x8b8;
  1497. Xtsearch = _tbase + 0x8be;
  1498. Xtdelete = _tbase + 0x8c4;
  1499. Xtwalk = _tbase + 0x8ca;
  1500. Xnrand48 = _tbase + 0x8d0;
  1501. END_OF_FILE
  1502. if test 10418 -ne `wc -c <'new.ifile'`; then
  1503.     echo shar: \"'new.ifile'\" unpacked with wrong size!
  1504. fi
  1505. # end of 'new.ifile'
  1506. fi
  1507. if test -f 'shlib.4' -a "${1}" != "-c" ; then 
  1508.   echo shar: Will not clobber existing file \"'shlib.4'\"
  1509. else
  1510. echo shar: Extracting \"'shlib.4'\" \(3126 characters\)
  1511. sed "s/^X//" >'shlib.4' <<'END_OF_FILE'
  1512. X.TH shlib 4 UNIX-PC "CTIX 3.51"
  1513. X.SH NAME
  1514. Xshlib - the system shared libraries
  1515. X.SH SYNTAX
  1516. Xld /lib/crt0s.o /lib/shlib.ifile 
  1517. X.SH DESCRIPTION
  1518. XThe unixpc employees a single shared library to reduce the size of
  1519. Xexecutable programs. As distributed, the shared library contains 
  1520. Xmuch (but not all) of 
  1521. X.I libc.a ,
  1522. X.I libtermlib.a 
  1523. Xand 
  1524. X.I libcurses.a .
  1525. XWhile useful in reducing the size of executables, using the shared library
  1526. Xcan be frustrating to programmers because (a) it is not a complete library
  1527. Xand (b) trying to link with the shared library 
  1528. X.I and
  1529. Xthe regular libc.a is not a trivial task, in some instances.
  1530. X
  1531. XSpecifically, the shared library (/lib/shlib) is a compiled object that 
  1532. Xis mapped into a constant piece of
  1533. X.I "virtual memory" .
  1534. XThat is, the code in /lib/shlib appears at the same virtual address in every
  1535. Xprogram that accesses it. Since this address space (0x300000-0x380000) is 
  1536. Xoutside of the space normally used by executing programs, it goes unnoticed
  1537. Xif it is not referenced. Furthermore, this address range (like any other) is
  1538. Xdemand paged, so the library code is swapped out if it is not used.
  1539. X
  1540. X.SH CONSTRUCTION
  1541. XThe shared library is a normal 3 part (TEXT, DATA and BSS) object file.
  1542. XThe DATA and BSS sections are continuous and begin at virtual address 0x300000.
  1543. XThe TEXT area begins at virtual address 0x310000.
  1544. XThe first object in the text area is a jump table, which indexes the other 
  1545. Xfunctions in the library. The presence of the jump table enables function
  1546. Xaddresses to remain constant, even if the library is recompiled or reordered.
  1547. X
  1548. X.SH MODIFICATION
  1549. XThe shared library is loaded on boot from the file /lib/shlib. This object
  1550. Xcan be any non-relocatable object (created via /bin/ld). 
  1551. XFor backward compatibility, is is recommend that any modifications to the
  1552. Xlibrary be in the form of additions to the existing library (This is so
  1553. Xthat the existing software will continue to work).
  1554. X
  1555. XThe rules of thumb for modifying the library are:
  1556. X.RS
  1557. X.HP
  1558. X(a) maintain 3 sections (TEXT, DATA and BSS) as there is no specification
  1559. Xregarding non-standard sections.
  1560. X.HP
  1561. X(b) Always 
  1562. X.I append
  1563. Xdata to sections. For compatibility, the new sections must overlay the old
  1564. Xones perfectly, with new data overlaying previously unallocated space.
  1565. X.RE
  1566. X
  1567. XAn example shared library is shown below:
  1568. X.TS
  1569. Xtab(@);
  1570. Xcb cb
  1571. Xc|l|l|
  1572. Xc|l|l|
  1573. Xc|l|l|
  1574. Xc|l|l|
  1575. Xc|l|l|
  1576. Xc|l|l|
  1577. Xc|l|l|
  1578. Xc|l|l|
  1579. Xc|l|l|
  1580. Xc l
  1581. Xc|l|l|.
  1582. XAddress Range@Description@Section
  1583. X@_@_
  1584. X@New Text area@
  1585. X0x330000@New Jump Table@
  1586. X@_@
  1587. X@*avail*@Text
  1588. X@_@
  1589. X@Old Text@
  1590. X0x310000@Old Jump Table@
  1591. X@_@_
  1592. X@
  1593. X@_@_
  1594. X@New BSS@BSS
  1595. X@_@_
  1596. X@New Data@
  1597. X@_@DATA
  1598. X0x300000@Old DATA AND BSS@
  1599. X@_@_
  1600. X.TE
  1601. X
  1602. XNote that the old sections are aligned to the same addresses that they 
  1603. Xwere before, and that new sections have been fitted around them. This example
  1604. Xuses a second jump table rather then appending to the first one because it 
  1605. Xassumes that source for the first library is unavailable. Having the second
  1606. Xjump table (aligned at 0x330000 for neatness) means that further modification
  1607. Xof the table is a trivial matter of adding indexes to the jump table and
  1608. Xrecompiling.
  1609. X
  1610. X.SH FILES
  1611. X.nf
  1612. X/lib/shlib
  1613. X/lib/shlib.ifile
  1614. X.fi
  1615. END_OF_FILE
  1616. if test 3126 -ne `wc -c <'shlib.4'`; then
  1617.     echo shar: \"'shlib.4'\" unpacked with wrong size!
  1618. fi
  1619. # end of 'shlib.4'
  1620. fi
  1621. if test -f 'stubs.s' -a "${1}" != "-c" ; then 
  1622.   echo shar: Will not clobber existing file \"'stubs.s'\"
  1623. else
  1624. echo shar: Extracting \"'stubs.s'\" \(6307 characters\)
  1625. sed "s/^X//" >'stubs.s' <<'END_OF_FILE'
  1626. X    text
  1627. X    even
  1628. XLIB__EPRINTF:
  1629. X    jmp __eprintf
  1630. XLIB__BUILTIN_NEW:
  1631. X    jmp __builtin_new
  1632. XLIB__BUILTIN_VEC_NEW:
  1633. X    jmp __builtin_vec_new
  1634. XLIB__SET_NEW_HANDLER:
  1635. X    jmp __set_new_handler
  1636. XLIBSET_NEW_HANDLER:
  1637. X    jmp set_new_handler
  1638. XLIB__BUILTIN_DELETE:
  1639. X    jmp __builtin_delete
  1640. XLIB__BUILTIN_VEC_DELETE:
  1641. X    jmp __builtin_vec_delete
  1642. XLIB__UMULSI3:
  1643. X    jmp __umulsi3
  1644. XLIB__MULSI3:
  1645. X    jmp __mulsi3
  1646. XLIB__UDIVSI3:
  1647. X    jmp __udivsi3
  1648. XLIB__DIVSI3:
  1649. X    jmp __divsi3
  1650. XLIB__UMODSI3:
  1651. X    jmp __umodsi3
  1652. XLIB__MODSI3:
  1653. X    jmp __modsi3
  1654. XLIB__LSHRSI3:
  1655. X    jmp __lshrsi3
  1656. XLIB__LSHLSI3:
  1657. X    jmp __lshlsi3
  1658. XLIB__ASHRSI3:
  1659. X    jmp __ashrsi3
  1660. XLIB__ASHLSI3:
  1661. X    jmp __ashlsi3
  1662. XLIB__DIVDF3:
  1663. X    jmp __divdf3
  1664. XLIB__MULDF3:
  1665. X    jmp __muldf3
  1666. XLIB__NEGDF2:
  1667. X    jmp __negdf2
  1668. XLIB__ADDDF3:
  1669. X    jmp __adddf3
  1670. XLIB__SUBDF3:
  1671. X    jmp __subdf3
  1672. XLIB__CMPDF2:
  1673. X    jmp __cmpdf2
  1674. XLIB__FIXUNSDFSI:
  1675. X    jmp __fixunsdfsi
  1676. XLIB__FIXDFSI:
  1677. X    jmp __fixdfsi
  1678. XLIB__FLOATSIDF:
  1679. X    jmp __floatsidf
  1680. XLIB__TRUNCDFSF2:
  1681. X    jmp __truncdfsf2
  1682. XLIB__EXTENDSFDF2:
  1683. X    jmp __extendsfdf2
  1684. XLIB__ADDSF3:
  1685. X    jmp __addsf3
  1686. XLIB__NEGSF2:
  1687. X    jmp __negsf2
  1688. XLIB__SUBSF3:
  1689. X    jmp __subsf3
  1690. XLIB__CMPSF2:
  1691. X    jmp __cmpsf2
  1692. XLIB__MULSF3:
  1693. X    jmp __mulsf3
  1694. XLIB__DIVSF3:
  1695. X    jmp __divsf3
  1696. XLIB__BUILTIN_SAVEREGS:
  1697. X    jmp __builtin_saveregs
  1698. XLIB__ADDDI3:
  1699. X    jmp __adddi3
  1700. XLIB__SUBDI3:
  1701. X    jmp __subdi3
  1702. XLIB__MULDI3:
  1703. X    jmp __muldi3
  1704. XLIB__DIVDI3:
  1705. X    jmp __divdi3
  1706. XLIB__MODDI3:
  1707. X    jmp __moddi3
  1708. XLIB__UDIVDI3:
  1709. X    jmp __udivdi3
  1710. XLIB__UMODDI3:
  1711. X    jmp __umoddi3
  1712. XLIB__NEGDI2:
  1713. X    jmp __negdi2
  1714. XLIB__ANDDI3:
  1715. X    jmp __anddi3
  1716. XLIB__IORDI3:
  1717. X    jmp __iordi3
  1718. XLIB__XORDI3:
  1719. X    jmp __xordi3
  1720. XLIB__LSHRDI3:
  1721. X    jmp __lshrdi3
  1722. XLIB__LSHLDI3:
  1723. X    jmp __lshldi3
  1724. XLIB__ASHLDI3:
  1725. X    jmp __ashldi3
  1726. XLIB__ASHRDI3:
  1727. X    jmp __ashrdi3
  1728. XLIB__ONE_CMPLDI2:
  1729. X    jmp __one_cmpldi2
  1730. XLIB__BDIV:
  1731. X    jmp __bdiv
  1732. XLIB__CMPDI2:
  1733. X    jmp __cmpdi2
  1734. XLIB__UCMPDI2:
  1735. X    jmp __ucmpdi2
  1736. XLIB__FIXUNSDFDI:
  1737. X    jmp __fixunsdfdi
  1738. XLIB__FIXDFDI:
  1739. X    jmp __fixdfdi
  1740. XLIB__FLOATDIDF:
  1741. X    jmp __floatdidf
  1742. X# __new_handler is data not text (per the C++ def.)
  1743. X    long    1
  1744. X    short    0    # pad to 6 bytes
  1745. X#LIB__NEW_HANDLER:
  1746. X#    jmp __new_handler
  1747. XLIB_ACCT:
  1748. X    jmp    acct
  1749. XLIB_AULREM:
  1750. X    jmp    aulrem
  1751. XLIB_CLEARERR:
  1752. X    jmp    clearerr
  1753. XLIB__DOPRNT:
  1754. X    jmp    _doprnt
  1755. XLIB__DOSCAN:
  1756. X    jmp    _doscan
  1757. XLIB__DTOP:
  1758. X    jmp    _dtop
  1759. XLIB__CLEANUP:
  1760. X    jmp    _cleanup
  1761. XLIB__FINDIOP:
  1762. X    jmp    _findiop
  1763. XLIB_LFIND:
  1764. X    jmp    lfind
  1765. XLIB_LOCKF:
  1766. X    jmp    lockf
  1767. XLIB_LSEARCH:
  1768. X    jmp    lsearch
  1769. XLIB__LTOSTR:
  1770. X    jmp    _ltostr
  1771. XLIB_MCOUNT:
  1772. X    jmp    mcount
  1773. XLIB__PTOD:
  1774. X    jmp    _ptod
  1775. XLIB_SETVBUF:
  1776. X    jmp    setvbuf
  1777. XLIB__SIGHND:
  1778. X    jmp    _sighnd
  1779. XLIB_STRTOD:
  1780. X    jmp    strtod
  1781. XLIB_TELL:
  1782. X    jmp    tell
  1783. XLIB_TFIND:
  1784. X    jmp    tfind
  1785. XLIB_VFPRINTF:
  1786. X    jmp    vfprintf
  1787. XLIB_VPRINTF:
  1788. X    jmp    vprintf
  1789. XLIB_VSPRINTF:
  1790. X    jmp    vsprintf
  1791. XLIB_SIGNAL:
  1792. X    jmp    signal
  1793. XLIB_OPENDIR:
  1794. X    jmp    opendir
  1795. XLIB_READDIR:
  1796. X    jmp    readdir
  1797. XLIB_TELLDIR:
  1798. X    jmp    telldir
  1799. XLIB_SEEKDIR:
  1800. X    jmp    seekdir
  1801. XLIB_REWINDDIR:
  1802. X    jmp    rewinddir
  1803. XLIB_CLOSEDIR:
  1804. X    jmp    closedir
  1805. XLIB_GETDENTS:
  1806. X    jmp    getdents
  1807. X    global daylight
  1808. Xdaylight:
  1809. X    long    1
  1810. X    short    0    # pad daylight to 6 bytes
  1811. X
  1812. X# Curses things (vs TAM)
  1813. XLIB_WADDCH:
  1814. X    jmp    waddch;
  1815. XLIB_WADDSTR:
  1816. X    jmp    waddstr;
  1817. XLIB_BAUDRATE:
  1818. X    jmp    baudrate;
  1819. XLIB_CBREAK:
  1820. X    jmp    cbreak;
  1821. XLIB__CBREAK:
  1822. X    jmp    _cbreak;
  1823. XLIB__CHK_INPUT:
  1824. X    jmp    _chk_input;
  1825. XLIB__UNGETCH:
  1826. X    jmp    _ungetch;
  1827. XLIB__OUTCH:
  1828. X    jmp    _outch;
  1829. XLIB___CFLUSH:
  1830. X    jmp    __cflush;
  1831. XLIB__SETBUFFERED:
  1832. X    jmp    _setbuffered;
  1833. XLIB_WCLRTOBOT:
  1834. X    jmp    wclrtobot;
  1835. XLIB_WCLRTOEOL:
  1836. X    jmp    wclrtoeol;
  1837. XLIB_DEF_PROG_MODE:
  1838. X    jmp    def_prog_mode;
  1839. XLIB__DELAY:
  1840. X    jmp    _delay;
  1841. XLIB__EC_QUIT:
  1842. X    jmp    _ec_quit;
  1843. XLIB_ECHO:
  1844. X    jmp    echo;
  1845. XLIB_DEL_CURTERM:
  1846. X    jmp    del_curterm;
  1847. XLIB_DELWIN:
  1848. X    jmp    delwin;
  1849. XLIB_DOUPDATE:
  1850. X    jmp    doupdate;
  1851. XLIB_ISENDWIN:
  1852. X    jmp    isendwin;
  1853. XLIB_ENDWIN:
  1854. X    jmp    endwin;
  1855. XLIB__FORCE_DOUPDATE:
  1856. X    jmp    _force_doupdate;
  1857. XLIB__FIXDELAY:
  1858. X    jmp    _fixdelay;
  1859. XLIB_FIXTERM:
  1860. X    jmp    fixterm;
  1861. XLIB_FLUSHINP:
  1862. X    jmp    flushinp;
  1863. XLIB_WGETCH:
  1864. X    jmp    wgetch;
  1865. XLIB_COLLAPSE:
  1866. X    jmp    collapse;
  1867. XLIB__CATCH_ALARM:
  1868. X    jmp    _catch_alarm;
  1869. XLIB__INIT_KEYPAD:
  1870. X    jmp    _init_keypad;
  1871. XLIB_INITSCR:
  1872. X    jmp    initscr;
  1873. XLIB__ID_CHAR:
  1874. X    jmp    _id_char;
  1875. XLIB__ID_LINE:
  1876. X    jmp    _id_line;
  1877. XLIB__CHK_TYPEAHEAD:
  1878. X    jmp    _chk_typeahead;
  1879. XLIB_KEYPAD:
  1880. X    jmp    keypad;
  1881. XLIB__LL_ECHOCHAR:
  1882. X    jmp    _ll_echochar;
  1883. XLIB__INIT_COSTS:
  1884. X    jmp    _init_costs;
  1885. XLIB__COUNTCHAR:
  1886. X    jmp    _countchar;
  1887. XLIB__INIT_ACS:
  1888. X    jmp    _init_acs;
  1889. XLIB__NEW_TTY:
  1890. X    jmp    _new_tty;
  1891. XLIB_FILTER:
  1892. X    jmp    filter;
  1893. XLIB__NUM_LINES:
  1894. X    jmp    _num_lines;
  1895. XLIB__LL_REFRESH:
  1896. X    jmp    _ll_refresh;
  1897. XLIB__CHECK_CLREOS:
  1898. X    jmp    _check_clreos;
  1899. XLIB__SCRDOWN:
  1900. X    jmp    _scrdown;
  1901. XLIB__LINE_ALLOC:
  1902. X    jmp    _line_alloc;
  1903. XLIB__LINE_FREE:
  1904. X    jmp    _line_free;
  1905. XLIB__LL_ENDMOVE:
  1906. X    jmp    _ll_endmove;
  1907. XLIB__LL_SETYX:
  1908. X    jmp    _ll_setyx;
  1909. XLIB__LL_MOVE:
  1910. X    jmp    _ll_move;
  1911. XLIB__COMPHASH:
  1912. X    jmp    _comphash;
  1913. XLIB__SYNCMODES:
  1914. X    jmp    _syncmodes;
  1915. XLIB__HLMODE:
  1916. X    jmp    _hlmode;
  1917. XLIB__SETHL:
  1918. X    jmp    _sethl;
  1919. XLIB__SETMODE:
  1920. X    jmp    _setmode;
  1921. XLIB__SETWIND:
  1922. X    jmp    _setwind;
  1923. XLIB__KPMODE:
  1924. X    jmp    _kpmode;
  1925. XLIB__WINDOW:
  1926. X    jmp    _window;
  1927. XLIB__ABSMOVEHOME:
  1928. X    jmp    _absmovehome;
  1929. XLIB__RESET:
  1930. X    jmp    _reset;
  1931. XLIB__MAKENEW:
  1932. X    jmp    _makenew;
  1933. XLIB_MEMSSET:
  1934. X    jmp    memSset;
  1935. XLIB_WMOVE:
  1936. X    jmp    wmove;
  1937. XLIB_MVCUR:
  1938. X    jmp    mvcur;
  1939. XLIB_MVWPRINTW:
  1940. X    jmp    mvwprintw;
  1941. XLIB_NEWTERM:
  1942. X    jmp    newterm;
  1943. XLIB_NEWWIN:
  1944. X    jmp    newwin;
  1945. XLIB_NOECHO:
  1946. X    jmp    noecho;
  1947. XLIB_NL:
  1948. X    jmp    nl;
  1949. XLIB_NOCBREAK:
  1950. X    jmp    nocbreak;
  1951. XLIB__NOCBREAK:
  1952. X    jmp    _nocbreak;
  1953. XLIB_NONL:
  1954. X    jmp    nonl;
  1955. XLIB_NORAW:
  1956. X    jmp    noraw;
  1957. XLIB__NORAW:
  1958. X    jmp    _noraw;
  1959. XLIB__POS:
  1960. X    jmp    _pos;
  1961. XLIB_PRINTW:
  1962. X    jmp    printw;
  1963. XLIB_WREFRESH:
  1964. X    jmp    wrefresh;
  1965. XLIB_RESETTERM:
  1966. X    jmp    resetterm;
  1967. XLIB_RESET_SHELL_MODE:
  1968. X    jmp    reset_shell_mode;
  1969. XLIB_RESETTY:
  1970. X    jmp    resetty;
  1971. XLIB_SAVETTY:
  1972. X    jmp    savetty;
  1973. XLIB_SAVETERM:
  1974. X    jmp    saveterm;
  1975. XLIB_SCROLL:
  1976. X    jmp    scroll;
  1977. XLIB__TSCROLL:
  1978. X    jmp    _tscroll;
  1979. XLIB_SETTERM:
  1980. X    jmp    setterm;
  1981. XLIB_SETUPTERM:
  1982. X    jmp    setupterm;
  1983. XLIB_RESET_PROG_MODE:
  1984. X    jmp    reset_prog_mode;
  1985. XLIB_DEF_SHELL_MODE:
  1986. X    jmp    def_shell_mode;
  1987. XLIB_SLK_INIT:
  1988. X    jmp    slk_init;
  1989. XLIB__SLK_INIT:
  1990. X    jmp    _slk_init;
  1991. XLIB__SLK_WINIT:
  1992. X    jmp    _slk_winit;
  1993. XLIB_SLK_TOUCH:
  1994. X    jmp    slk_touch;
  1995. XLIB_WSTANDOUT:
  1996. X    jmp    wstandout;
  1997. XLIB_WSTANDEND:
  1998. X    jmp    wstandend;
  1999. XLIB_TGETENT:
  2000. X    jmp    tgetent;
  2001. XLIB_TGETFLAG:
  2002. X    jmp    tgetflag;
  2003. XLIB_TGETNUM:
  2004. X    jmp    tgetnum;
  2005. XLIB_TGETSTR:
  2006. X    jmp    tgetstr;
  2007. XLIB_TGOTO:
  2008. X    jmp    tgoto;
  2009. XLIB_TOUCHWIN:
  2010. X    jmp    touchwin;
  2011. XLIB_TPARM:
  2012. X    jmp    tparm;
  2013. XLIB__BRANCHTO:
  2014. X    jmp    _branchto;
  2015. XLIB_TPUTS:
  2016. X    jmp    tputs;
  2017. XLIB__INSMODE:
  2018. X    jmp    _insmode;
  2019. XLIB__FORCEHL:
  2020. X    jmp    _forcehl;
  2021. XLIB__CLEARHL:
  2022. X    jmp    _clearhl;
  2023. XLIB__INSLINES:
  2024. X    jmp    _inslines;
  2025. XLIB__DELLINES:
  2026. X    jmp    _dellines;
  2027. XLIB__CLREOL:
  2028. X    jmp    _clreol;
  2029. XLIB__SCROLLF:
  2030. X    jmp    _scrollf;
  2031. XLIB__WRITECHARS:
  2032. X    jmp    _writechars;
  2033. XLIB__BLANKS:
  2034. X    jmp    _blanks;
  2035. XLIB__CLRLINE:
  2036. X    jmp    _clrline;
  2037. XLIB__CLRBOL:
  2038. X    jmp    _clrbol;
  2039. XLIB__DELCHARS:
  2040. X    jmp    _delchars;
  2041. XLIB__INSCHARS:
  2042. X    jmp    _inschars;
  2043. XLIB_TYPEAHEAD:
  2044. X    jmp    typeahead;
  2045. XLIB_VIDPUTS:
  2046. X    jmp    vidputs;
  2047. XLIB_VWPRINTW:
  2048. X    jmp    vwprintw;
  2049. XLIB_WATTRON:
  2050. X    jmp    wattron;
  2051. XLIB_WECHOCHAR:
  2052. X    jmp    wechochar;
  2053. XLIB_WNOUTREFRESH:
  2054. X    jmp    wnoutrefresh;
  2055. END_OF_FILE
  2056. if test 6307 -ne `wc -c <'stubs.s'`; then
  2057.     echo shar: \"'stubs.s'\" unpacked with wrong size!
  2058. fi
  2059. # end of 'stubs.s'
  2060. fi
  2061. if test ! -d 'test' ; then
  2062.     echo shar: Creating directory \"'test'\"
  2063.     mkdir 'test'
  2064. fi
  2065. if test -f 'test/Makefile' -a "${1}" != "-c" ; then 
  2066.   echo shar: Will not clobber existing file \"'test/Makefile'\"
  2067. else
  2068. echo shar: Extracting \"'test/Makefile'\" \(309 characters\)
  2069. sed "s/^X//" >'test/Makefile' <<'END_OF_FILE'
  2070. XLIBS    =    # $(GNULIB) -lcbcu_s -lcurses -lm # -lCURSES
  2071. XSCRT0 = /lib/crt0s.o
  2072. XCSLIBC = /lib/shlib.iCURSES
  2073. XEXFLAGS = -Z 
  2074. XCFLAGS = -g
  2075. XLD = ld
  2076. XCC=gcc
  2077. X
  2078. Xall: t1 t2
  2079. X
  2080. Xt1:    t1.o
  2081. X    $(LD) $(EXFLAGS) $(SCRT0) -o t1 t1.o $(LIBS) $(CSLIBC) # readdir.o getdents.o
  2082. X
  2083. Xt2:    t2.o
  2084. X    $(LD) $(EXFLAGS) $(SCRT0) -o t2 t2.o $(LIBS) $(CSLIBC)
  2085. END_OF_FILE
  2086. if test 309 -ne `wc -c <'test/Makefile'`; then
  2087.     echo shar: \"'test/Makefile'\" unpacked with wrong size!
  2088. fi
  2089. # end of 'test/Makefile'
  2090. fi
  2091. if test -f 'test/genaddr.c' -a "${1}" != "-c" ; then 
  2092.   echo shar: Will not clobber existing file \"'test/genaddr.c'\"
  2093. else
  2094. echo shar: Extracting \"'test/genaddr.c'\" \(157 characters\)
  2095. sed "s/^X//" >'test/genaddr.c' <<'END_OF_FILE'
  2096. X#include <stdio.h>
  2097. Xmain()
  2098. X{    int    start    = 0x144;
  2099. X    char    str[50];
  2100. X
  2101. X    while(gets(str) != NULL)
  2102. X    {    start += 6;
  2103. X        printf("%s = _Etbase + 0x%x;\n", str, start);
  2104. X    }
  2105. X}
  2106. END_OF_FILE
  2107. if test 157 -ne `wc -c <'test/genaddr.c'`; then
  2108.     echo shar: \"'test/genaddr.c'\" unpacked with wrong size!
  2109. fi
  2110. # end of 'test/genaddr.c'
  2111. fi
  2112. if test -f 'test/h.c' -a "${1}" != "-c" ; then 
  2113.   echo shar: Will not clobber existing file \"'test/h.c'\"
  2114. else
  2115. echo shar: Extracting \"'test/h.c'\" \(236 characters\)
  2116. sed "s/^X//" >'test/h.c' <<'END_OF_FILE'
  2117. X#include <stdio.h>
  2118. Xmain()
  2119. X{    int    num = 0;
  2120. X    int    lastnum = -6;
  2121. X
  2122. X    while(scanf("0x%x\n", &num) != EOF)
  2123. X    {    if (num != lastnum + 6)
  2124. X            printf("bad sequence: ");
  2125. X        printf("%x : %x\n", num, lastnum + 6);
  2126. X        lastnum = num;
  2127. X    }
  2128. X    printf("done\n");
  2129. X}
  2130. END_OF_FILE
  2131. if test 236 -ne `wc -c <'test/h.c'`; then
  2132.     echo shar: \"'test/h.c'\" unpacked with wrong size!
  2133. fi
  2134. # end of 'test/h.c'
  2135. fi
  2136. if test -f 'test/t.c' -a "${1}" != "-c" ; then 
  2137.   echo shar: Will not clobber existing file \"'test/t.c'\"
  2138. else
  2139. echo shar: Extracting \"'test/t.c'\" \(340 characters\)
  2140. sed "s/^X//" >'test/t.c' <<'END_OF_FILE'
  2141. X#include <stdio.h>
  2142. X#include <sys/types.h>
  2143. X#include <dirent.h>
  2144. Xmain()
  2145. X{
  2146. X    DIR    *dirp;
  2147. X    struct    dirent *dp;
  2148. X
  2149. X    fprintf(stderr, "Starting\n");
  2150. X    if ((dirp = opendir(".")) != NULL)
  2151. X    {
  2152. X        fprintf(stderr, "Open\n");
  2153. X        while((dp = readdir(dirp)) != NULL)
  2154. X            fprintf(stderr, ":%s:\n", dp->d_name);
  2155. X        closedir(dirp);
  2156. X    }
  2157. X    fprintf(stderr, "Ending\n");
  2158. X}
  2159. X        
  2160. END_OF_FILE
  2161. if test 340 -ne `wc -c <'test/t.c'`; then
  2162.     echo shar: \"'test/t.c'\" unpacked with wrong size!
  2163. fi
  2164. # end of 'test/t.c'
  2165. fi
  2166. echo shar: End of archive 1 \(of 2\).
  2167. cp /dev/null ark1isdone
  2168. MISSING=""
  2169. for I in 1 2 ; do
  2170.     if test ! -f ark${I}isdone ; then
  2171.     MISSING="${MISSING} ${I}"
  2172.     fi
  2173. done
  2174. if test "${MISSING}" = "" ; then
  2175.     echo You have unpacked both archives.
  2176.     rm -f ark[1-9]isdone
  2177. else
  2178.     echo You still need to unpack the following archives:
  2179.     echo "        " ${MISSING}
  2180. fi
  2181. ##  End of shell archive.
  2182. exit 0
  2183. -- 
  2184. David H. Brierley
  2185. Home: dave@galaxia.newport.ri.us; Work: dhb@quahog.ssd.ray.com
  2186. Send comp.sources.3b1 submissions to comp-sources-3b1@galaxia.newport.ri.us
  2187. %% Can I be excused, my brain is full. **
  2188.