1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Counter interface enum functions
4  * Copyright (C) 2018 William Breathitt Gray
5  */
6 #ifndef _COUNTER_ENUM_H_
7 #define _COUNTER_ENUM_H_
8 
9 #include <linux/types.h>
10 
11 struct counter_device;
12 struct counter_signal;
13 struct counter_count;
14 
15 ssize_t counter_signal_enum_read(struct counter_device *counter,
16 				 struct counter_signal *signal, void *priv,
17 				 char *buf);
18 ssize_t counter_signal_enum_write(struct counter_device *counter,
19 				  struct counter_signal *signal, void *priv,
20 				  const char *buf, size_t len);
21 
22 ssize_t counter_signal_enum_available_read(struct counter_device *counter,
23 					   struct counter_signal *signal,
24 					   void *priv, char *buf);
25 
26 ssize_t counter_count_enum_read(struct counter_device *counter,
27 				struct counter_count *count, void *priv,
28 				char *buf);
29 ssize_t counter_count_enum_write(struct counter_device *counter,
30 				 struct counter_count *count, void *priv,
31 				 const char *buf, size_t len);
32 
33 ssize_t counter_count_enum_available_read(struct counter_device *counter,
34 					  struct counter_count *count,
35 					  void *priv, char *buf);
36 
37 ssize_t counter_device_enum_read(struct counter_device *counter, void *priv,
38 				 char *buf);
39 ssize_t counter_device_enum_write(struct counter_device *counter, void *priv,
40 				  const char *buf, size_t len);
41 
42 ssize_t counter_device_enum_available_read(struct counter_device *counter,
43 					   void *priv, char *buf);
44 
45 #endif /* _COUNTER_ENUM_H_ */
46