]> Git Repo - J-linux.git/blob - include/linux/packing.h
Merge tag 'vfs-6.13-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[J-linux.git] / include / linux / packing.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright 2016-2018 NXP
3  * Copyright (c) 2018-2019, Vladimir Oltean <[email protected]>
4  */
5 #ifndef _LINUX_PACKING_H
6 #define _LINUX_PACKING_H
7
8 #include <linux/types.h>
9 #include <linux/bitops.h>
10
11 #define QUIRK_MSB_ON_THE_RIGHT  BIT(0)
12 #define QUIRK_LITTLE_ENDIAN     BIT(1)
13 #define QUIRK_LSW32_IS_FIRST    BIT(2)
14
15 enum packing_op {
16         PACK,
17         UNPACK,
18 };
19
20 int packing(void *pbuf, u64 *uval, int startbit, int endbit, size_t pbuflen,
21             enum packing_op op, u8 quirks);
22
23 int pack(void *pbuf, u64 uval, size_t startbit, size_t endbit, size_t pbuflen,
24          u8 quirks);
25
26 int unpack(const void *pbuf, u64 *uval, size_t startbit, size_t endbit,
27            size_t pbuflen, u8 quirks);
28
29 #endif
This page took 0.029524 seconds and 4 git commands to generate.