Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:16.0:FactoryCandidates
uucp
option-to-not-force-hw-control.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File option-to-not-force-hw-control.patch of Package uucp
Description: avoid forcing hw control Author: Michal Suchanek Index: uucp-1.07/conn.h =================================================================== --- conn.c | 5 +++-- conn.h | 4 ++-- cu.1 | 3 +++ cu.c | 12 ++++++++++-- unix/pipe.c | 5 +++-- unix/serial.c | 25 +++++++++++++++++-------- unix/tcp.c | 5 +++-- unix/tli.c | 5 +++-- uucico.c | 6 +++--- 9 files changed, 47 insertions(+), 23 deletions(-) --- conn.c +++ conn.c 2013-12-04 10:20:26.026181299 +0000 @@ -114,12 +114,13 @@ fconn_unlock (qconn) /* Open a connection. */ boolean -fconn_open (qconn, ibaud, ihighbaud, fwait, fuser) +fconn_open (qconn, ibaud, ihighbaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; long ihighbaud; boolean fwait; boolean fuser; + boolean nortscts; { boolean fret; @@ -177,7 +178,7 @@ fconn_open (qconn, ibaud, ihighbaud, fwa else ulog_device (qconn->qport->uuconf_zname); - fret = (*qconn->qcmds->pfopen) (qconn, ibaud, fwait, fuser); + fret = (*qconn->qcmds->pfopen) (qconn, ibaud, fwait, fuser, nortscts); if (! fret) ulog_device ((const char *) NULL); --- conn.h +++ conn.h 2013-12-04 10:20:26.022181350 +0000 @@ -117,7 +117,7 @@ struct sconncmds boolean (*pfunlock) P((struct sconnection *qconn)); /* Open the connection. */ boolean (*pfopen) P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); /* Close the connection. */ boolean (*pfclose) P((struct sconnection *qconn, pointer puuconf, @@ -198,7 +198,7 @@ extern boolean fconn_unlock P((struct sc than the effective permissions. */ extern boolean fconn_open P((struct sconnection *qconn, long ibaud, long ihighbaud, boolean fwait, - boolean fuser)); + boolean fuser, boolean nortscts)); /* Close a connection. The fsuccess argument is TRUE if the conversation completed normally, FALSE if it is being aborted. */ --- cu.1 +++ cu.1 2013-12-04 10:20:26.026181299 +0000 @@ -233,6 +233,9 @@ Echo characters locally (half-duplex mod .B \-\-nostop Turn off XON/XOFF handling (it is on by default). .TP 5 +.B \-f, \-\-nortscts +Do not use hardware flow control. +.TP 5 .B \-E char, \-\-escape char Set the escape character. Initially .B ~ --- cu.c +++ cu.c 2013-12-04 10:27:03.353425764 +0000 @@ -223,6 +223,7 @@ static const struct option asCulongopts[ { "baud", required_argument, NULL, 's' }, { "mapcr", no_argument, NULL, 't' }, { "nostop", no_argument, NULL, 3 }, + { "nortscts", no_argument, NULL, 'f' }, { "system", required_argument, NULL, 'z' }, { "config", required_argument, NULL, 'I' }, { "debug", required_argument, NULL, 'x' }, @@ -258,6 +259,8 @@ main (argc, argv) enum txonxoffsetting txonxoff = XONXOFF_ON; /* -I: configuration file name. */ const char *zconfig = NULL; + /* -f: no hardware flow control */ + boolean nortscts = FALSE; int iopt; pointer puuconf; int iuuconf; @@ -295,7 +298,7 @@ main (argc, argv) } } - while ((iopt = getopt_long (argc, argv, "a:c:deE:hnI:l:op:s:tvx:z:", + while ((iopt = getopt_long (argc, argv, "a:c:deE:fhnI:l:op:s:tvx:z:", asCulongopts, (int *) NULL)) != EOF) { switch (iopt) @@ -322,6 +325,11 @@ main (argc, argv) zCuvar_escape = optarg; break; + case 'f': + /* No hardware flow control. */ + nortscts = TRUE; + break; + case 'h': /* Local echo. */ fCulocalecho = TRUE; @@ -687,7 +695,7 @@ main (argc, argv) } /* Here we have locked a connection to use. */ - if (! fconn_open (&sconn, iusebaud, ihighbaud, FALSE, sinfo.fdirect)) + if (! fconn_open (&sconn, iusebaud, ihighbaud, FALSE, sinfo.fdirect, nortscts)) ucuabort (); fCuclose_conn = TRUE; --- uucico.c +++ uucico.c 2013-12-04 10:20:26.026181299 +0000 @@ -695,7 +695,7 @@ main (argc, argv) if (fret) { - if (! fconn_open (&sconn, (long) 0, (long) 0, TRUE, FALSE)) + if (! fconn_open (&sconn, (long) 0, (long) 0, TRUE, FALSE, FALSE)) fret = FALSE; qConn = &sconn; } @@ -714,7 +714,7 @@ main (argc, argv) (struct uuconf_dialer *) NULL, TRUE) || ! fconn_open (&sconn, (long) 0, (long) 0, TRUE, - FALSE)) + FALSE, FALSE)) break; } fret = FALSE; @@ -1179,7 +1179,7 @@ fconn_call (qdaemon, qport, qstat, cretr } if (! fconn_open (&sconn, qsys->uuconf_ibaud, qsys->uuconf_ihighbaud, - FALSE, FALSE)) + FALSE, FALSE, FALSE)) { terr = STATUS_PORT_FAILED; fret = FALSE; --- unix/pipe.c +++ unix/pipe.c 2013-12-04 10:20:26.026181299 +0000 @@ -49,7 +49,7 @@ const char pipe_rcsid[] = "$Id: pipe.c,v static void uspipe_free P((struct sconnection *qconn)); static boolean fspipe_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fspipe_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, @@ -115,11 +115,12 @@ uspipe_free (qconn) /*ARGSUSED*/ static boolean -fspipe_open (qconn, ibaud, fwait, fuser) +fspipe_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn ATTRIBUTE_UNUSED; long ibaud ATTRIBUTE_UNUSED; boolean fwait; boolean fuser ATTRIBUTE_UNUSED; + boolean nortscts ATTRIBUTE_UNUSED; { /* We don't do incoming waits on pipes. */ if (fwait) --- unix/serial.c +++ unix/serial.c 2013-12-04 10:20:26.026181299 +0000 @@ -246,11 +246,11 @@ static boolean fsserial_open P((struct s boolean fwait, boolean fuser, enum tclocal_setting tlocal)); static boolean fsstdin_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fsmodem_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fsdirect_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fsblock P((struct ssysdep_conn *q, boolean fblock)); static boolean fsserial_close P((struct ssysdep_conn *q)); static boolean fsstdin_close P((struct sconnection *qconn, @@ -1375,11 +1375,12 @@ fsserial_open (qconn, ibaud, fwait, fuse call to fsblock. */ static boolean -fsstdin_open (qconn, ibaud, fwait, fuser) +fsstdin_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser; + boolean nortscts; { struct ssysdep_conn *q; @@ -1390,6 +1391,9 @@ fsstdin_open (qconn, ibaud, fwait, fuser q->o = q->ord; if (! fsserial_open (qconn, ibaud, fwait, fuser, IGNORE_CLOCAL)) return FALSE; + if (nortscts + && ! fsserial_hardflow (qconn, FALSE)) + return FALSE; q->iwr_flags = fcntl (q->owr, F_GETFL, 0); if (q->iwr_flags < 0) { @@ -1402,11 +1406,12 @@ fsstdin_open (qconn, ibaud, fwait, fuser /* Open a modem port. */ static boolean -fsmodem_open (qconn, ibaud, fwait, fuser) +fsmodem_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser; + boolean nortscts; { struct uuconf_modem_port *qm; @@ -1423,7 +1428,10 @@ fsmodem_open (qconn, ibaud, fwait, fuser out, because some modems don't assert the necessary signals until they see carrier. Instead, we turn on hardware flow control in fsmodem_carrier. */ - if (fwait + if (nortscts + && ! fsserial_hardflow (qconn, FALSE)) + return FALSE; + else if (fwait && ! fsserial_hardflow (qconn, qm->uuconf_fhardflow)) return FALSE; @@ -1433,11 +1441,12 @@ fsmodem_open (qconn, ibaud, fwait, fuser /* Open a direct port. */ static boolean -fsdirect_open (qconn, ibaud, fwait, fuser) +fsdirect_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser; + boolean nortscts; { struct uuconf_direct_port *qd; @@ -1450,7 +1459,7 @@ fsdirect_open (qconn, ibaud, fwait, fuse /* Always turn on hardware flow control for a direct port when it is opened. There is no other sensible time to turn it on. */ - return fsserial_hardflow (qconn, qd->uuconf_fhardflow); + return fsserial_hardflow (qconn, qd->uuconf_fhardflow && ! nortscts); } /* Change the blocking status of the port. We keep track of the --- unix/tcp.c +++ unix/tcp.c 2013-12-04 10:20:26.026181299 +0000 @@ -78,7 +78,7 @@ static boolean ftcp_set_hints P((int ive #endif static boolean ftcp_set_flags P((struct ssysdep_conn *qsysdep)); static boolean ftcp_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean ftcp_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, @@ -208,11 +208,12 @@ ftcp_set_flags (qsysdep) system. */ static boolean -ftcp_open (qconn, ibaud, fwait, fuser) +ftcp_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud ATTRIBUTE_UNUSED; boolean fwait; boolean fuser ATTRIBUTE_UNUSED; + boolean nortscts ATTRIBUTE_UNUSED; { struct ssysdep_conn *qsysdep; const char *zport; --- unix/tli.c +++ unix/tli.c 2013-12-04 10:20:26.026181299 +0000 @@ -106,7 +106,7 @@ static const char *ztlierror P((void)); static void utli_free P((struct sconnection *qconn)); static boolean ftli_push P((struct sconnection *qconn)); static boolean ftli_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean ftli_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, @@ -238,11 +238,12 @@ ftli_push (qconn) system. */ static boolean -ftli_open (qconn, ibaud, fwait, fuser) +ftli_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser ATTRIBUTE_UNUSED; + boolean nortscts ATTRIBUTE_UNUSED; { struct ssysdep_conn *qsysdep; const char *zdevice;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor