summaryrefslogtreecommitdiffstats
path: root/sys/net/if_sppp.h
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1994-12-02 23:23:01 +0000
committerwollman <wollman@FreeBSD.org>1994-12-02 23:23:01 +0000
commit1e6f21ed41e83670488677de0b159748eb02a365 (patch)
tree60003a2ecb3238a23ed3424937623de0225e5255 /sys/net/if_sppp.h
downloadFreeBSD-src-1e6f21ed41e83670488677de0b159748eb02a365.zip
FreeBSD-src-1e6f21ed41e83670488677de0b159748eb02a365.tar.gz
Cronyx/Sigma sync/async serial driver with PPP support
from Serge Vakulenko
Diffstat (limited to 'sys/net/if_sppp.h')
-rw-r--r--sys/net/if_sppp.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/sys/net/if_sppp.h b/sys/net/if_sppp.h
new file mode 100644
index 0000000..c915977
--- /dev/null
+++ b/sys/net/if_sppp.h
@@ -0,0 +1,70 @@
+/*
+ * Defines for synchronous PPP/Cisco link level subroutines.
+ *
+ * Copyright (C) 1994 Cronyx Ltd.
+ * Author: Serge Vakulenko, <vak@zebub.msk.su>
+ *
+ * This software is distributed with NO WARRANTIES, not even the implied
+ * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Authors grant any other persons or organisations permission to use
+ * or modify this software as long as this message is kept with the software,
+ * all derivative works or modified versions.
+ *
+ * Version 1.1, Thu Oct 27 21:15:02 MSK 1994
+ */
+
+#ifndef _NET_IF_HDLC_H_
+#define _NET_IF_HDLC_H_ 1
+
+struct slcp {
+ u_short state; /* state machine */
+ u_long magic; /* local magic number */
+ u_long rmagic; /* remote magic number */
+ u_char lastid; /* id of last keepalive echo request */
+};
+
+struct sipcp {
+ u_short state; /* state machine */
+};
+
+struct sppp {
+ struct ifnet pp_if; /* network interface data */
+ struct ifqueue pp_fastq; /* fast output queue */
+ struct sppp *pp_next; /* next interface in keepalive list */
+ u_int pp_flags; /* use Cisco protocol instead of PPP */
+ u_short pp_alivecnt; /* keepalive packets counter */
+ u_short pp_loopcnt; /* loopback detection counter */
+ u_long pp_seq; /* local sequence number */
+ u_long pp_rseq; /* remote sequence number */
+ struct slcp lcp; /* LCP params */
+ struct sipcp ipcp; /* IPCP params */
+};
+
+#define PP_KEEPALIVE 0x01 /* use keepalive protocol */
+#define PP_CISCO 0x02 /* use Cisco protocol instead of PPP */
+
+#define PP_MTU 1500 /* max. transmit unit */
+
+#define LCP_STATE_CLOSED 0 /* LCP state: closed (conf-req sent) */
+#define LCP_STATE_ACK_RCVD 1 /* LCP state: conf-ack received */
+#define LCP_STATE_ACK_SENT 2 /* LCP state: conf-ack sent */
+#define LCP_STATE_OPENED 3 /* LCP state: opened */
+
+#define IPCP_STATE_CLOSED 0 /* IPCP state: closed (conf-req sent) */
+#define IPCP_STATE_ACK_RCVD 1 /* IPCP state: conf-ack received */
+#define IPCP_STATE_ACK_SENT 2 /* IPCP state: conf-ack sent */
+#define IPCP_STATE_OPENED 3 /* IPCP state: opened */
+
+#ifdef KERNEL
+void sppp_attach (struct ifnet *ifp);
+void sppp_detach (struct ifnet *ifp);
+void sppp_input (struct ifnet *ifp, struct mbuf *m);
+int sppp_output (struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
+ struct rtentry *rt);
+int sppp_ioctl (struct ifnet *ifp, int cmd, caddr_t data);
+struct mbuf *sppp_dequeue (struct ifnet *ifp);
+void sppp_flush (struct ifnet *ifp);
+#endif
+
+#endif /* _NET_IF_HDLC_H_ */
OpenPOWER on IntegriCloud