113925Sedward #ifndef lint 2*13972Sedward static char *sccsid = "@(#)wwinit.c 1.3 83/07/18"; 313925Sedward #endif 413925Sedward 513925Sedward #include "ww.h" 613925Sedward 713962Sedward struct ww_tty wwoldtty; 813962Sedward struct ww_tty wwnewtty = { 913962Sedward { 0, 0, -1, -1, 0 }, 1013962Sedward { -1, -1, -1, -1, -1, -1 }, 1113962Sedward { -1, -1, -1, -1, -1, -1 }, 1213962Sedward 0, 0, 0 1313962Sedward }; 1413925Sedward 1513925Sedward wwinit() 1613925Sedward { 1713962Sedward static char done = 0; 1813962Sedward 1913962Sedward if (done) 2013962Sedward return 0; 2113962Sedward done++; 2213962Sedward if (wwgettty(0, &wwoldtty) < 0) 2313962Sedward return -1; 2413962Sedward wwnewtty.ww_sgttyb.sg_flags = wwoldtty.ww_sgttyb.sg_flags; 2513962Sedward wwnewtty.ww_sgttyb.sg_ispeed = wwoldtty.ww_sgttyb.sg_ispeed; 2613962Sedward wwnewtty.ww_sgttyb.sg_ospeed = wwoldtty.ww_sgttyb.sg_ospeed; 2713962Sedward wwnewtty.ww_lmode = wwoldtty.ww_lmode; 2813962Sedward wwnewtty.ww_pgrp = wwoldtty.ww_pgrp; 2913962Sedward wwnewtty.ww_ldisc = wwoldtty.ww_ldisc; 3013962Sedward wwnewtty.ww_sgttyb.sg_flags |= CBREAK; 31*13972Sedward wwnewtty.ww_sgttyb.sg_flags &= ~(ECHO|CRMOD); 3213962Sedward wwnewtty.ww_lmode |= LLITOUT; 3313962Sedward wwnewtty.ww_tchars.t_quitc = wwoldtty.ww_tchars.t_quitc; 3413962Sedward if (wwsettty(0, &wwnewtty) < 0) 3513962Sedward return -1; 36*13972Sedward if (Winit(2, 1) != 0) 3713962Sedward return -1; 3813962Sedward WSetRealCursor = 1; 3913962Sedward return 0; 4013925Sedward } 41