CNDP  22.08.0
cne_gre.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2019-2020 6WIND S.A.
3  */
4 
5 #ifndef _CNE_GRE_H_
6 #define _CNE_GRE_H_
7 
12 #include <stdint.h>
13 #include <endian.h>
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
22 __extension__ struct cne_gre_hdr {
23 #if BYTE_ORDER == LITTLE_ENDIAN
24  uint16_t res2 : 4;
25  uint16_t s : 1;
26  uint16_t k : 1;
27  uint16_t res1 : 1;
28  uint16_t c : 1;
29  uint16_t ver : 3;
30  uint16_t res3 : 5;
31 #elif BYTE_ORDER == BIG_ENDIAN
32  uint16_t c : 1;
33  uint16_t res1 : 1;
34  uint16_t k : 1;
35  uint16_t s : 1;
36  uint16_t res2 : 4;
37  uint16_t res3 : 5;
38  uint16_t ver : 3;
39 #endif
40  uint16_t proto;
41 } __attribute__((__packed__));
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif /* CNE_GRE_H_ */
uint16_t k
Definition: cne_gre.h:26
uint16_t res1
Definition: cne_gre.h:27
uint16_t s
Definition: cne_gre.h:25
uint16_t res2
Definition: cne_gre.h:24
uint16_t proto
Definition: cne_gre.h:40
uint16_t res3
Definition: cne_gre.h:30
uint16_t ver
Definition: cne_gre.h:29
uint16_t c
Definition: cne_gre.h:28