diff options
author | Brian Somers <brian@FreeBSD.org> | 1998-02-21 01:45:26 +0000 |
---|---|---|
committer | Brian Somers <brian@FreeBSD.org> | 1998-02-21 01:45:26 +0000 |
commit | 503a7782d83ae95e68461f93e5c0d703bd7e04e0 (patch) | |
tree | 328bccd367d635d0d513800cd9eb9c714f9c8942 /usr.sbin/ppp/modem.c | |
parent | 7e80369b76d36143c125bdc483843d3420783346 (diff) | |
download | src-503a7782d83ae95e68461f93e5c0d703bd7e04e0.tar.gz src-503a7782d83ae95e68461f93e5c0d703bd7e04e0.zip |
Shuffle around our FSMs a bit. This'll make it
easier to remove the CcpInfo, LcpInfo and IpcpInfo
globals.
Notes
Notes:
svn path=/cvs2svn/branches/MP/; revision=33702
Diffstat (limited to 'usr.sbin/ppp/modem.c')
-rw-r--r-- | usr.sbin/ppp/modem.c | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/usr.sbin/ppp/modem.c b/usr.sbin/ppp/modem.c index 33cf65535374..eec301968934 100644 --- a/usr.sbin/ppp/modem.c +++ b/usr.sbin/ppp/modem.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: modem.c,v 1.77.2.22 1998/02/17 19:29:00 brian Exp $ + * $Id: modem.c,v 1.77.2.23 1998/02/19 02:08:51 brian Exp $ * * TODO: */ @@ -84,31 +84,50 @@ static int modem_UpdateSet(struct descriptor *, fd_set *, fd_set *, fd_set *, int *); struct physical * -modem_Create(const char *name) +modem_Create(const char *name, struct ccp *ccp) { struct physical *p; p = (struct physical *)malloc(sizeof(struct physical)); if (!p) return NULL; - memset(p, '\0', sizeof *p); + p->link.type = PHYSICAL_LINK; p->link.name = strdup(name); p->link.len = sizeof *p; + memset(&p->link.throughput, '\0', sizeof p->link.throughput); + memset(&p->link.Timer, '\0', sizeof p->link.Timer); + memset(p->link.Queue, '\0', sizeof p->link.Queue); + p->link.ccp = ccp; + memset(p->link.proto_in, '\0', sizeof p->link.proto_in); + memset(p->link.proto_out, '\0', sizeof p->link.proto_out); p->link.StartOutput = modem_StartOutput; p->link.IsActive = modem_IsActive; p->link.Close = modem_Hangup; p->link.Destroy = modem_Destroy; - p->fd = -1; - p->cfg.rts_cts = MODEM_CTSRTS; - p->cfg.speed = MODEM_SPEED; - p->cfg.parity = CS8; + p->desc.type = PHYSICAL_DESCRIPTOR; p->desc.UpdateSet = modem_UpdateSet; p->desc.IsSet = Physical_IsSet; p->desc.Read = modem_DescriptorRead; p->desc.Write = Physical_DescriptorWrite; + hdlc_Init(&p->hdlc); + async_Init(&p->async); + + p->fd = -1; + p->mbits = 0; + p->abort = 0; + p->dev_is_modem = 0; + p->out = NULL; + p->connect_count = 0; + + p->cfg.is_direct = 0; /* not yet used */ + p->cfg.is_dedicated = 0; /* not yet used */ + p->cfg.rts_cts = MODEM_CTSRTS; + p->cfg.speed = MODEM_SPEED; + p->cfg.parity = CS8; + return p; } |