| /* SPDX-License-Identifier: GPL-2.0-only | |
| * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. | |
| */ | |
| #ifndef _LINUX_IF_RMNET_H_ | |
| #define _LINUX_IF_RMNET_H_ | |
| struct rmnet_map_header { | |
| #if defined(__LITTLE_ENDIAN_BITFIELD) | |
| u8 pad_len:6; | |
| u8 reserved_bit:1; | |
| u8 cd_bit:1; | |
| #elif defined (__BIG_ENDIAN_BITFIELD) | |
| u8 cd_bit:1; | |
| u8 reserved_bit:1; | |
| u8 pad_len:6; | |
| #else | |
| #error "Please fix <asm/byteorder.h>" | |
| #endif | |
| u8 mux_id; | |
| __be16 pkt_len; | |
| } __aligned(1); | |
| struct rmnet_map_dl_csum_trailer { | |
| u8 reserved1; | |
| #if defined(__LITTLE_ENDIAN_BITFIELD) | |
| u8 valid:1; | |
| u8 reserved2:7; | |
| #elif defined (__BIG_ENDIAN_BITFIELD) | |
| u8 reserved2:7; | |
| u8 valid:1; | |
| #else | |
| #error "Please fix <asm/byteorder.h>" | |
| #endif | |
| u16 csum_start_offset; | |
| u16 csum_length; | |
| __be16 csum_value; | |
| } __aligned(1); | |
| struct rmnet_map_ul_csum_header { | |
| __be16 csum_start_offset; | |
| #if defined(__LITTLE_ENDIAN_BITFIELD) | |
| u16 csum_insert_offset:14; | |
| u16 udp_ind:1; | |
| u16 csum_enabled:1; | |
| #elif defined (__BIG_ENDIAN_BITFIELD) | |
| u16 csum_enabled:1; | |
| u16 udp_ind:1; | |
| u16 csum_insert_offset:14; | |
| #else | |
| #error "Please fix <asm/byteorder.h>" | |
| #endif | |
| } __aligned(1); | |
| #endif /* !(_LINUX_IF_RMNET_H_) */ |