]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - db/bit.h
xfsprogs: Release v6.8.0
[thirdparty/xfsprogs-dev.git] / db / bit.h
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc.
4 * All Rights Reserved.
5 */
6
7 #define bitize(s) ((s) * NBBY)
8 #define bitsz(t) bitize(sizeof(t))
9 #define bitszof(x,y) bitize(szof(x,y))
10 #define byteize(s) ((s) / NBBY)
11 #define bitoffs(s) ((s) % NBBY)
12 #define byteize_up(s) (((s) + NBBY - 1) / NBBY)
13
14 #define BVUNSIGNED 0
15 #define BVSIGNED 1
16
17 extern int64_t getbitval(void *obj, int bitoff, int nbits, int flags);
18 extern void setbitval(void *obuf, int bitoff, int nbits, void *ibuf);
19 extern int getbit_l(char *ptr, int bit);
20 extern void setbit_l(char *ptr, int bit, int val);