summaryrefslogtreecommitdiff
path: root/include/linux/array_size.h
blob: 0c4fec98822ee6afaee31923e09720eca7357e59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_ARRAY_SIZE_H
#define _LINUX_ARRAY_SIZE_H

#include <linux/compiler.h>

/**
 * ARRAY_SIZE - get the number of elements in array @arr
 * @arr: array to be sized
 */
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))

/**
 * ARRAY_END - get a pointer to one past the last element in array @arr
 * @arr: array
 */
#define ARRAY_END(arr)  (&(arr)[ARRAY_SIZE(arr)])

#endif  /* _LINUX_ARRAY_SIZE_H */