xref: /linux/include/linux/array_size.h (revision 136114e0abf03005e182d75761ab694648e6d388)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_ARRAY_SIZE_H
3 #define _LINUX_ARRAY_SIZE_H
4 
5 #include <linux/compiler.h>
6 
7 /**
8  * ARRAY_SIZE - get the number of elements in array @arr
9  * @arr: array to be sized
10  */
11 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
12 
13 /**
14  * ARRAY_END - get a pointer to one past the last element in array @arr
15  * @arr: array
16  */
17 #define ARRAY_END(arr)  (&(arr)[ARRAY_SIZE(arr)])
18 
19 #endif  /* _LINUX_ARRAY_SIZE_H */
20