]> git.ozlabs.org Git - ppp.git/blobdiff - include/net/if_ppp.h
change ioctl no. for SIOCGPPPCSTATS
[ppp.git] / include / net / if_ppp.h
index b538013058df3f78a73cbb0900464408552b3a53..ae930c62c9d3a4dac02db0c2af44de73bec7c722 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: if_ppp.h,v 1.6 1994/09/21 00:28:21 paulus Exp $    */
+/*     $Id: if_ppp.h,v 1.10 1994/11/29 01:59:06 paulus Exp $   */
 
 /*
  * if_ppp.h - Point-to-Point Protocol definitions.
 
 /*
  * if_ppp.h - Point-to-Point Protocol definitions.
 #define SC_REJ_COMP_TCP        0x00000020      /* reject TCP (VJ) comp. on input */
 #define SC_CCP_OPEN    0x00000040      /* Look at CCP packets */
 #define SC_CCP_UP      0x00000080      /* May send/recv compressed packets */
 #define SC_REJ_COMP_TCP        0x00000020      /* reject TCP (VJ) comp. on input */
 #define SC_CCP_OPEN    0x00000040      /* Look at CCP packets */
 #define SC_CCP_UP      0x00000080      /* May send/recv compressed packets */
-#define SC_ENABLE_IP   0x00000100      /* IP packets may be exchanged */
-#define SC_COMP_RUN    0x00001000      /* compressor has been inited */
-#define SC_DECOMP_RUN  0x00002000      /* decompressor has been inited */
 #define SC_DEBUG       0x00010000      /* enable debug messages */
 #define SC_LOG_INPKT   0x00020000      /* log contents of good pkts recvd */
 #define SC_LOG_OUTPKT  0x00040000      /* log contents of pkts sent */
 #define SC_LOG_RAWIN   0x00080000      /* log all chars received */
 #define SC_LOG_FLUSH   0x00100000      /* log all chars flushed */
 #define SC_DEBUG       0x00010000      /* enable debug messages */
 #define SC_LOG_INPKT   0x00020000      /* log contents of good pkts recvd */
 #define SC_LOG_OUTPKT  0x00040000      /* log contents of pkts sent */
 #define SC_LOG_RAWIN   0x00080000      /* log all chars received */
 #define SC_LOG_FLUSH   0x00100000      /* log all chars flushed */
-#define        SC_MASK         0x0fffffff      /* bits that user can change */
-
-/* state bits */
-#define        SC_ESCAPED      0x80000000      /* saw a PPP_ESCAPE */
-#define        SC_FLUSH        0x40000000      /* flush input until next PPP_FLAG */
-#define SC_VJ_RESET    0x20000000      /* Need to reset the VJ decompressor */
 #define SC_RCV_B7_0    0x01000000      /* have rcvd char with bit 7 = 0 */
 #define SC_RCV_B7_1    0x02000000      /* have rcvd char with bit 7 = 1 */
 #define SC_RCV_EVNP    0x04000000      /* have rcvd char with even parity */
 #define SC_RCV_ODDP    0x08000000      /* have rcvd char with odd parity */
 #define SC_RCV_B7_0    0x01000000      /* have rcvd char with bit 7 = 0 */
 #define SC_RCV_B7_1    0x02000000      /* have rcvd char with bit 7 = 1 */
 #define SC_RCV_EVNP    0x04000000      /* have rcvd char with even parity */
 #define SC_RCV_ODDP    0x08000000      /* have rcvd char with odd parity */
-#define SC_DC_ERROR    0x00400000      /* non-fatal decomp error detected */
-#define SC_DC_FERROR   0x00800000      /* fatal decomp error detected */
+#define        SC_MASK         0x0fff00ff      /* bits that user can change */
+
+/*
+ * State bits in sc_flags, not changeable by user.
+ */
+#define SC_VJ_RESET    0x00000800      /* need to reset VJ decomp */
+#define SC_COMP_RUN    0x00001000      /* compressor has been inited */
+#define SC_DECOMP_RUN  0x00002000      /* decompressor has been inited */
+#define SC_DC_ERROR    0x00004000      /* non-fatal decomp error detected */
+#define SC_DC_FERROR   0x00008000      /* fatal decomp error detected */
+#define SC_TBUSY       0x10000000      /* xmitter doesn't need a packet yet */
+#define SC_PKTLOST     0x20000000      /* have lost or dropped a packet */
+#define        SC_FLUSH        0x40000000      /* flush input until next PPP_FLAG */
+#define        SC_ESCAPED      0x80000000      /* saw a PPP_ESCAPE */
 
 /*
  * Ioctl definitions.
 
 /*
  * Ioctl definitions.
@@ -81,20 +84,34 @@ struct ifpppstatsreq {
     struct ppp_stats stats;
 };
 
     struct ppp_stats stats;
 };
 
+struct ifpppcstatsreq {
+    char ifr_name[IFNAMSIZ];
+    struct ppp_comp_stats stats;
+};
+
 /*
  * Ioctl definitions.
 /*
  * Ioctl definitions.
+ *
+ * The IOR nonsense is because there is a bug in NeXTStep for Intel;
+ * it doesn't copy back data for _IOR, so we do it ourselves.
  */
  */
-#define        PPPIOCGFLAGS    _IOR('t', 90, int)      /* get configuration flags */
+#if defined(NeXT)
+#define IOR    _IOWR
+#else
+#define IOR    _IOR
+#endif
+
+#define        PPPIOCGFLAGS    IOR('t', 90, int)       /* get configuration flags */
 #define        PPPIOCSFLAGS    _IOW('t', 89, int)      /* set configuration flags */
 #define        PPPIOCSFLAGS    _IOW('t', 89, int)      /* set configuration flags */
-#define        PPPIOCGASYNCMAP _IOR('t', 88, int)      /* get async map */
+#define        PPPIOCGASYNCMAP IOR('t', 88, int)       /* get async map */
 #define        PPPIOCSASYNCMAP _IOW('t', 87, int)      /* set async map */
 #define        PPPIOCSASYNCMAP _IOW('t', 87, int)      /* set async map */
-#define        PPPIOCGUNIT     _IOR('t', 86, int)      /* get ppp unit number */
-#define        PPPIOCGRASYNCMAP _IOR('t', 85, int)     /* get receive async map */
+#define        PPPIOCGUNIT     IOR('t', 86, int)       /* get ppp unit number */
+#define        PPPIOCGRASYNCMAP IOR('t', 85, int)      /* get receive async map */
 #define        PPPIOCSRASYNCMAP _IOW('t', 84, int)     /* set receive async map */
 #define        PPPIOCSRASYNCMAP _IOW('t', 84, int)     /* set receive async map */
-#define        PPPIOCGMRU      _IOR('t', 83, int)      /* get max receive unit */
+#define        PPPIOCGMRU      IOR('t', 83, int)       /* get max receive unit */
 #define        PPPIOCSMRU      _IOW('t', 82, int)      /* set max receive unit */
 #define        PPPIOCSMAXCID   _IOW('t', 81, int)      /* set VJ max slot ID */
 #define        PPPIOCSMRU      _IOW('t', 82, int)      /* set max receive unit */
 #define        PPPIOCSMAXCID   _IOW('t', 81, int)      /* set VJ max slot ID */
-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
+#define PPPIOCGXASYNCMAP IOR('t', 80, ext_accm) /* get extended ACCM */
 #define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
 #define PPPIOCXFERUNIT _IO('t', 78)            /* transfer PPP unit */
 #define PPPIOCSCOMPRESS        _IOW('t', 77, struct ppp_option_data)
 #define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
 #define PPPIOCXFERUNIT _IO('t', 78)            /* transfer PPP unit */
 #define PPPIOCSCOMPRESS        _IOW('t', 77, struct ppp_option_data)
@@ -102,6 +119,7 @@ struct ifpppstatsreq {
 #define PPPIOCSNPMODE  _IOW('t', 75, struct npioctl)  /* set NP mode */
 
 #define SIOCGPPPSTATS  _IOWR('i', 123, struct ifpppstatsreq)
 #define PPPIOCSNPMODE  _IOW('t', 75, struct npioctl)  /* set NP mode */
 
 #define SIOCGPPPSTATS  _IOWR('i', 123, struct ifpppstatsreq)
+#define SIOCGPPPCSTATS _IOWR('i', 122, struct ifpppcstatsreq)
 
 #if !defined(ifr_mtu)
 #define ifr_mtu        ifr_ifru.ifru_metric
 
 #if !defined(ifr_mtu)
 #define ifr_mtu        ifr_ifru.ifru_metric