📄 unixpc.shar
字号:
XX infocmp -I s4 > s4.tiXX now add the following line (with a leading tab) to theX "s4.ti" file:XX acsc=+h\,g.e-fjjkkllmmnnqqttuuvvwwxx,XX recompile the new entry:XX tic s4.tiXX There is one disadvantage... Sometimes line noise will switchX you to the line drawing character set while you're communicatingX with a remote!XX 6) The "tset" command is broken on every version of Unix thisX box has ever seen (it is commented out of /etc/profile for aX good reason). One of tset's functions was to send a string toX initialize the settings of the terminal and to set the tabX stops. The fact that this program isn't used is oftenX overlooked because the console (as well as a lot of otherX terminals) doesn't require any initialization. However, if youX call into your system from a remote terminal that *does* requireX initialization, you've got trouble.XX For example, curses(3) looks at the terminfo database to see ifX your terminal has "hardware tabs", if so, it expects the tabX stops to be set. Ignoring tabs by using "stty -tabs" (toX convert tabs to spaces) won't work, in fact, curses(3) RESETSX things as if you had typed "stty tabs"!XX Likewise, my terminfo entry for PCPLUS v1.1's emulation of aX vt102 has "^[)0" in the initialization string to load the lineX drawing character set. It needs to be sent to the terminalX before running Pcomm.XX Some versions of Unix have a "init" option to the "tput" commandX to perform all the initialization. If so, you should edit theX /etc/profile to add the following commands at the bottom:XX tput initX tabsXX If your version of tput doesn't recognize the "init" option, aX somewhat longer solution is to edit /etc/profile and add theX following commands at the bottom:XX eval `tput iprog`X tput is1X tput is2X if [ -n "`tput hts`" ] ;thenX stty tabsX elseX stty -tabsX fiX tabsX cat -s "`tput if`"X tput is3X echo "\r\c"XX 7) Pcomm makes (an arrogant) assumption that the phone line forX the OBM is already configured in the DATA mode. Users with onlyX one phone line attached to ph0 will have to manually switch theX line to the DATA mode before using Pcomm and then switch it backX to VOICE afterwards. To aid in this task, the following shellX script could be used:XX phtoggleX sleep 1X /usr/local/bin/pcomm $*X phtoggleXX Users with one phone line attached to ph0 will have to changeX the TTY setup since the default Pcomm.modem file assumes thatX ph1 is being used.XX If you only have one phone line but *always* use it in the DATAX mode, there is another solution. Did you know that you can foolX your machine into having a one-line system in the DATA mode?X All you have to do is re-configure the Telephone Setup and tellX the machine that you've got two lines (one line to be sharedX between VOICE and DATA on ph0, and one line to be DATA only onX ph1). Then you just never plug the phone line into ph0, you useX ph1 instead. The Telephone Setup menu is reached through theX Office of install, Administration, Hardware Setup menues.XX 8. The SETUID_BROKE pre-processor variable was designed to takeX care of systems that aren't able to switch back and forthX between the real and effective user id. On the Unix PC, thisX problem only exists if the program is set-group-id. So, ifX you're running HDB UUCP and have Pcomm set-user-id to uucp, youX don't need to have SETUID_BROKE defined.XX 9. The default tunable parameters for the size of INPUT_BUF andX OUTPUT_BUF for the Unix PC are rather small in order to prevent aX "choppy" appearance on the screen. However, if you haveX installed the serial patch (called "serial_pat.Z" on osu-cis),X then the nominal sizes of 64 and 32 for INPUT_BUF and OUTPUT_BUFX will provide much better performance.SHAR_EOFif test 5766 -ne "`wc -c < 'Readme.7300'`"then echo shar: "error transmitting 'Readme.7300'" '(should have been 5766 characters)'fifiecho shar: "extracting 'Setup.sh'" '(1852 characters)'if test -f 'Setup.sh'then echo shar: "will not over-write existing file 'Setup.sh'"elsesed 's/^X//' << \SHAR_EOF > 'Setup.sh'Xecho This shell script will create a new link directive file, extractXecho a few missing objects from the C libraries, and create a newXecho sys/time.h header file.XXechoXecho cd /libXcd /libXXecho cp shlib.ifile shlib_c.ifileXcp shlib.ifile shlib_c.ifileXXecho editing shlib_c.ifileXex - shlib_c.ifile << "EOF"X1,$s/^PC/xPC/X1,$s/^BC/xBC/X1,$s/^UP/xUP/X1,$s/^ospeed/xospeed/X1,$s/^LINES/xLINES/X1,$s/^COLS/xCOLS/X1,$s/^tgetflag/xtgetflag/X1,$s/^tgetent/xtgetent/X1,$s/^tgetstr/xtgetstr/X1,$s/^tgetnum/xtgetnum/X1,$s/^tgoto/xtgoto/X1,$s/^tputs/xtputs/X1,$s/^wrefresh/xwrefresh/X1,$s/^initscr/xinitscr/X1,$s/^cbreak/xcbreak/X1,$s/^nl/xnl/X1,$s/^flushinp/xflushinp/X1,$s/^noecho/xnoecho/X1,$s/^savetty/xsavetty/X1,$s/^resetty/xresetty/X1,$s/^echo/xecho/X1,$s/^nocbreak/xnocbreak/X1,$s/^nonl/xnonl/X1,$s/^keypad/xkeypad/X1,$s/^endwin/xendwin/X1,$s/^printw/xprintw/X1,$s/^fixterm/xfixterm/X1,$s/^resetterm/xresetterm/X1,$s/^setterm/xsetterm/X1,$s/^baudrate/xbaudrate/XwXqXEOFXXecho ar x libc.a doprnt.o setvbuf.oXar x libc.a doprnt.o setvbuf.oXXecho creating /usr/include/sys/time.hXcat > /usr/include/sys/time.h << "EOF"X/*X * The sys/time.h stuff extracted from select.h in the UIPC code.X */XX#ifndef sys_time_hX#define sys_time_hXXstruct timeval {X long tv_sec; /* seconds */X long tv_usec; /* and microseconds */X};XX/*X * Operations on timevals.X *X * NB: timercmp does not work for >= or <=.X */X#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)X#define timercmp(tvp, uvp, cmp) \X ((tvp)->tv_sec cmp (uvp)->tv_sec || \X (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)X#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0XX#endifXEOFXXif [ ! -f /lib/libuipc.a -a ! -f /usr/lib/libuipc.a ] ;thenX echo "Can't find the uipc library..."X echo "Pcomm v2.0 *REQUIRES* this public domain socket emulation library"XfiSHAR_EOFif test 1852 -ne "`wc -c < 'Setup.sh'`"then echo shar: "error transmitting 'Setup.sh'" '(should have been 1852 characters)'fifiecho shar: "extracting 'config.h'" '(2446 characters)'if test -f 'config.h'then echo shar: "will not over-write existing file 'config.h'"elsesed 's/^X//' << \SHAR_EOF > 'config.h'X/*X * Various tunable parameters. This should appear before any other localX * header file.X */XX/* Are you using a Berkeley flavor of Unix? */X#undef BSDXX/* Use the dialing routines specific to the AT&T Unix PC 7300/3b1 */X#define UNIXPCXX/* Older versions of curses(3) use termcap in lieu of terminfo */X#undef OLDCURSESXX/* Should a missing video attribute be promoted to standout? */X#define NOPROMOTEXX/* Should Pcomm make a log of all phone calls? */X#define LOG_CALLSXX/* The name of the log file (if used). */X#define LOG_FILE "/usr/adm/phone.calls"XX/* Should long distance (toll) calls be limited to a specific group? */X#undef LIMIT_LDXX/* The name of the privileged group for limiting long distance calls */X#define GROUP_NAME "uucp"XX/* The path to the line printer program */X#define LPR "lp -s"XX/* The path to the "pretty" printer program (if none, use "pr | lp") */X#define LPRINT "pr | lp -s"XX/* The path to the default directory containing the Pcomm support files */X#define DEFAULT_DIR "/local/lib/pcomm"XX/* The path to the directory where UUCP locks are found */X#define LOCK_DIR "/usr/spool/uucp"XX/* Do the lock files use ASCII encoded PID's? */X#undef ASCII_PIDXX/* Fold the last character of the lock to lower case? */X#undef XENIX_LOCKSXX/* Use the new SVR4 lock format? */X#undef SVR4_LOCKSXX/* Does the status line scroll up on "magic cookie" terminals? */X#undef XMC_BROKEXX/* Does the alarm() system call work correctly with the wgetch() function? */X#undef WGETCH_BROKEXX/* Does the O_NDELAY mode tend to stick around when asked to leave? */X#undef O_NDELAY_BROKEXX/* The size of the serial port character buffer (or Stream buffer) */X#define CLIST_SIZ 64XX/* The size of the input buffer (should be about the same as CLIST_SIZ) */X#define INPUT_BUF 64XX/* The size of the output buffer (should be about one half INPUT_BUF) */X#define OUTPUT_BUF 32XX/* Does memmove() exist or is memcpy() well behaved when overlapping? */X/* #define MEMMOVE(a,b,c) memmove(a,b,c) */X#define MEMMOVE(a,b,c) memcpy(a,b,c)X/* #define MEMMOVE(a,b,c) bcopy(b,a,c) */XX/* Does your Unix allow flip-flop between real and effective user IDs? */X#undef SETUID_BROKEXX/* Does your system have the strstr() function? */X#undef HAVE_STRSTRXX/* Does your system have the usleep() function? */X#undef HAVE_USLEEPXX/* typedef void SIG_TYPE; */Xtypedef int SIG_TYPE;XX#ifdef BSDX#define strchr indexX#define strrchr rindexX#endif /* BSD */SHAR_EOFif test 2446 -ne "`wc -c < 'config.h'`"then echo shar: "error transmitting 'config.h'" '(should have been 2446 characters)'fifiexit 0# End of shell archive
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -