1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. 3*4882a593Smuzhiyun */ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifndef _LINUX_IF_RMNET_H_ 6*4882a593Smuzhiyun #define _LINUX_IF_RMNET_H_ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun struct rmnet_map_header { 9*4882a593Smuzhiyun #if defined(__LITTLE_ENDIAN_BITFIELD) 10*4882a593Smuzhiyun u8 pad_len:6; 11*4882a593Smuzhiyun u8 reserved_bit:1; 12*4882a593Smuzhiyun u8 cd_bit:1; 13*4882a593Smuzhiyun #elif defined (__BIG_ENDIAN_BITFIELD) 14*4882a593Smuzhiyun u8 cd_bit:1; 15*4882a593Smuzhiyun u8 reserved_bit:1; 16*4882a593Smuzhiyun u8 pad_len:6; 17*4882a593Smuzhiyun #else 18*4882a593Smuzhiyun #error "Please fix <asm/byteorder.h>" 19*4882a593Smuzhiyun #endif 20*4882a593Smuzhiyun u8 mux_id; 21*4882a593Smuzhiyun __be16 pkt_len; 22*4882a593Smuzhiyun } __aligned(1); 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun struct rmnet_map_dl_csum_trailer { 25*4882a593Smuzhiyun u8 reserved1; 26*4882a593Smuzhiyun #if defined(__LITTLE_ENDIAN_BITFIELD) 27*4882a593Smuzhiyun u8 valid:1; 28*4882a593Smuzhiyun u8 reserved2:7; 29*4882a593Smuzhiyun #elif defined (__BIG_ENDIAN_BITFIELD) 30*4882a593Smuzhiyun u8 reserved2:7; 31*4882a593Smuzhiyun u8 valid:1; 32*4882a593Smuzhiyun #else 33*4882a593Smuzhiyun #error "Please fix <asm/byteorder.h>" 34*4882a593Smuzhiyun #endif 35*4882a593Smuzhiyun u16 csum_start_offset; 36*4882a593Smuzhiyun u16 csum_length; 37*4882a593Smuzhiyun __be16 csum_value; 38*4882a593Smuzhiyun } __aligned(1); 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun struct rmnet_map_ul_csum_header { 41*4882a593Smuzhiyun __be16 csum_start_offset; 42*4882a593Smuzhiyun #if defined(__LITTLE_ENDIAN_BITFIELD) 43*4882a593Smuzhiyun u16 csum_insert_offset:14; 44*4882a593Smuzhiyun u16 udp_ind:1; 45*4882a593Smuzhiyun u16 csum_enabled:1; 46*4882a593Smuzhiyun #elif defined (__BIG_ENDIAN_BITFIELD) 47*4882a593Smuzhiyun u16 csum_enabled:1; 48*4882a593Smuzhiyun u16 udp_ind:1; 49*4882a593Smuzhiyun u16 csum_insert_offset:14; 50*4882a593Smuzhiyun #else 51*4882a593Smuzhiyun #error "Please fix <asm/byteorder.h>" 52*4882a593Smuzhiyun #endif 53*4882a593Smuzhiyun } __aligned(1); 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #endif /* !(_LINUX_IF_RMNET_H_) */ 56