aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/ppp/modem.c
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>1998-02-21 01:45:26 +0000
committerBrian Somers <brian@FreeBSD.org>1998-02-21 01:45:26 +0000
commit503a7782d83ae95e68461f93e5c0d703bd7e04e0 (patch)
tree328bccd367d635d0d513800cd9eb9c714f9c8942 /usr.sbin/ppp/modem.c
parent7e80369b76d36143c125bdc483843d3420783346 (diff)
downloadsrc-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.c33
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;
}