^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef _NET_PPTP_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _NET_PPTP_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #define PPP_LCP_ECHOREQ 0x09
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #define PPP_LCP_ECHOREP 0x0A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define SC_RCV_BITS (SC_RCV_B7_1|SC_RCV_B7_0|SC_RCV_ODDP|SC_RCV_EVNP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define MISSING_WINDOW 20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define WRAPPED(curseq, lastseq)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) ((((curseq) & 0xffffff00) == 0) &&\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) (((lastseq) & 0xffffff00) == 0xffffff00))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define PPTP_HEADER_OVERHEAD (2+sizeof(struct pptp_gre_header))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) struct pptp_gre_header {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) struct gre_base_hdr gre_hd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) __be16 payload_len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) __be16 call_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) __be32 seq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) __be32 ack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) } __packed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #endif