FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
linux/include/linux/args.h at multikernel-arm · multikernel/linux · GitHub
multikernel
/
linux
Public
forked from
torvalds/linux
Notifications
You must be signed in to change notification settings
Fork
15
Star
180
Code
Issues
27
Pull requests
5
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
linux
/
include
/
linux
/
args.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
28 lines (23 loc) · 1021 Bytes
Breadcrumbs
linux
/
include
/
linux
/
args.h
Copy path
File metadata and controls
28 lines (23 loc) · 1021 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef
_LINUX_ARGS_H
#define
_LINUX_ARGS_H
/*
* How do these macros work?
*
* In __COUNT_ARGS() _0 to _15 are just placeholders from the start
* in order to make sure _n is positioned over the correct number
* from 15 to 0 (depending on X, which is a variadic argument list).
* They serve no purpose other than occupying a position. Since each
* macro parameter must have a distinct identifier, those identifiers
* are as good as any.
*
* In COUNT_ARGS() we use actual integers, so __COUNT_ARGS() returns
* that as _n.
*/
/* This counts to 15. Any more, it will return 16th argument. */
#define
__COUNT_ARGS
(
_0
,
_1
,
_2
,
_3
,
_4
,
_5
,
_6
,
_7
,
_8
,
_9
,
_10
,
_11
,
_12
,
_13
,
_14
,
_15
,
_n
,
X
...) _n
#define
COUNT_ARGS
(
X
...) __COUNT_ARGS(, ##X, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
/* Concatenate two parameters, but allow them to be expanded beforehand. */
#define
__CONCAT
(
a
,
b
) a ## b
#define
CONCATENATE
(
a
,
b
) __CONCAT(a, b)
#endif
/* _LINUX_ARGS_H */
Back
|
FazBrowse Home
|
New Git URL