xref: /openbmc/linux/include/net/pptp.h (revision ab10dccb11608b96b43b557c12a5ad867723e503)
1 #ifndef _NET_PPTP_H
2 #define _NET_PPTP_H
3 
4 #define PPP_LCP_ECHOREQ 0x09
5 #define PPP_LCP_ECHOREP 0x0A
6 #define SC_RCV_BITS     (SC_RCV_B7_1|SC_RCV_B7_0|SC_RCV_ODDP|SC_RCV_EVNP)
7 
8 #define MISSING_WINDOW 20
9 #define WRAPPED(curseq, lastseq)\
10 	((((curseq) & 0xffffff00) == 0) &&\
11 	(((lastseq) & 0xffffff00) == 0xffffff00))
12 
13 #define PPTP_GRE_PROTO  0x880B
14 #define PPTP_GRE_VER    0x1
15 
16 #define PPTP_GRE_FLAG_C 0x80
17 #define PPTP_GRE_FLAG_R 0x40
18 #define PPTP_GRE_FLAG_K 0x20
19 #define PPTP_GRE_FLAG_S 0x10
20 #define PPTP_GRE_FLAG_A 0x80
21 
22 #define PPTP_GRE_IS_C(f) ((f)&PPTP_GRE_FLAG_C)
23 #define PPTP_GRE_IS_R(f) ((f)&PPTP_GRE_FLAG_R)
24 #define PPTP_GRE_IS_K(f) ((f)&PPTP_GRE_FLAG_K)
25 #define PPTP_GRE_IS_S(f) ((f)&PPTP_GRE_FLAG_S)
26 #define PPTP_GRE_IS_A(f) ((f)&PPTP_GRE_FLAG_A)
27 
28 #define PPTP_HEADER_OVERHEAD (2+sizeof(struct pptp_gre_header))
29 struct pptp_gre_header {
30 	u8  flags;
31 	u8  ver;
32 	__be16 protocol;
33 	__be16 payload_len;
34 	__be16 call_id;
35 	__be32 seq;
36 	__be32 ack;
37 } __packed;
38 
39 
40 #endif
41