LCOV - code coverage report
Current view: top level - include/linux/unaligned - access_ok.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 10 25 40.0 %
Date: 2021-04-22 12:43:58 Functions: 0 0 -

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #ifndef _LINUX_UNALIGNED_ACCESS_OK_H
       3             : #define _LINUX_UNALIGNED_ACCESS_OK_H
       4             : 
       5             : #include <linux/kernel.h>
       6             : #include <asm/byteorder.h>
       7             : 
       8           0 : static __always_inline u16 get_unaligned_le16(const void *p)
       9             : {
      10           0 :         return le16_to_cpup((__le16 *)p);
      11             : }
      12             : 
      13           8 : static __always_inline u32 get_unaligned_le32(const void *p)
      14             : {
      15           8 :         return le32_to_cpup((__le32 *)p);
      16             : }
      17             : 
      18         129 : static __always_inline u64 get_unaligned_le64(const void *p)
      19             : {
      20         129 :         return le64_to_cpup((__le64 *)p);
      21             : }
      22             : 
      23          19 : static __always_inline u16 get_unaligned_be16(const void *p)
      24             : {
      25          19 :         return be16_to_cpup((__be16 *)p);
      26             : }
      27             : 
      28          40 : static __always_inline u32 get_unaligned_be32(const void *p)
      29             : {
      30          40 :         return be32_to_cpup((__be32 *)p);
      31             : }
      32             : 
      33           0 : static __always_inline u64 get_unaligned_be64(const void *p)
      34             : {
      35           0 :         return be64_to_cpup((__be64 *)p);
      36             : }
      37             : 
      38             : static __always_inline void put_unaligned_le16(u16 val, void *p)
      39             : {
      40             :         *((__le16 *)p) = cpu_to_le16(val);
      41             : }
      42             : 
      43       61804 : static __always_inline void put_unaligned_le32(u32 val, void *p)
      44             : {
      45       61804 :         *((__le32 *)p) = cpu_to_le32(val);
      46             : }
      47             : 
      48           0 : static __always_inline void put_unaligned_le64(u64 val, void *p)
      49             : {
      50           0 :         *((__le64 *)p) = cpu_to_le64(val);
      51             : }
      52             : 
      53           0 : static __always_inline void put_unaligned_be16(u16 val, void *p)
      54             : {
      55           0 :         *((__be16 *)p) = cpu_to_be16(val);
      56           0 : }
      57             : 
      58           0 : static __always_inline void put_unaligned_be32(u32 val, void *p)
      59             : {
      60           0 :         *((__be32 *)p) = cpu_to_be32(val);
      61           0 : }
      62             : 
      63           0 : static __always_inline void put_unaligned_be64(u64 val, void *p)
      64             : {
      65           0 :         *((__be64 *)p) = cpu_to_be64(val);
      66           0 : }
      67             : 
      68             : #endif /* _LINUX_UNALIGNED_ACCESS_OK_H */

Generated by: LCOV version 1.14