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
29
30
31
32
33
34
35
36
37
  | // SPDX-License-Identifier: GPL-2.0 
 |  #ifndef EFD_SEMAPHORE 
 |  #define EFD_SEMAPHORE        1 
 |  #endif 
 |    
 |  #ifndef EFD_NONBLOCK 
 |  #define EFD_NONBLOCK        00004000 
 |  #endif 
 |    
 |  #ifndef EFD_CLOEXEC 
 |  #define EFD_CLOEXEC        02000000 
 |  #endif 
 |    
 |  static size_t syscall_arg__scnprintf_eventfd_flags(char *bf, size_t size, struct syscall_arg *arg) 
 |  { 
 |      int printed = 0, flags = arg->val; 
 |    
 |      if (flags == 0) 
 |          return scnprintf(bf, size, "NONE"); 
 |  #define    P_FLAG(n) \ 
 |      if (flags & EFD_##n) { \ 
 |          printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "|" : "", #n); \ 
 |          flags &= ~EFD_##n; \ 
 |      } 
 |    
 |      P_FLAG(SEMAPHORE); 
 |      P_FLAG(CLOEXEC); 
 |      P_FLAG(NONBLOCK); 
 |  #undef P_FLAG 
 |    
 |      if (flags) 
 |          printed += scnprintf(bf + printed, size - printed, "%s%#x", printed ? "|" : "", flags); 
 |    
 |      return printed; 
 |  } 
 |    
 |  #define SCA_EFD_FLAGS syscall_arg__scnprintf_eventfd_flags 
 |  
  |