1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _LINUX_STRING_CHOICES_H_ 3 #define _LINUX_STRING_CHOICES_H_ 4 5 #include <linux/types.h> 6 7 static inline const char *str_enable_disable(bool v) 8 { 9 return v ? "enable" : "disable"; 10 } 11 12 static inline const char *str_enabled_disabled(bool v) 13 { 14 return v ? "enabled" : "disabled"; 15 } 16 17 static inline const char *str_hi_lo(bool v) 18 { 19 return v ? "hi" : "lo"; 20 } 21 #define str_lo_hi(v) str_hi_lo(!(v)) 22 23 static inline const char *str_high_low(bool v) 24 { 25 return v ? "high" : "low"; 26 } 27 #define str_low_high(v) str_high_low(!(v)) 28 29 static inline const char *str_read_write(bool v) 30 { 31 return v ? "read" : "write"; 32 } 33 #define str_write_read(v) str_read_write(!(v)) 34 35 static inline const char *str_on_off(bool v) 36 { 37 return v ? "on" : "off"; 38 } 39 40 static inline const char *str_yes_no(bool v) 41 { 42 return v ? "yes" : "no"; 43 } 44 45 static inline const char *str_up_down(bool v) 46 { 47 return v ? "up" : "down"; 48 } 49 #define str_down_up(v) str_up_down(!(v)) 50 51 static inline const char *str_true_false(bool v) 52 { 53 return v ? "true" : "false"; 54 } 55 #define str_false_true(v) str_true_false(!(v)) 56 57 /** 58 * str_plural - Return the simple pluralization based on English counts 59 * @num: Number used for deciding pluralization 60 * 61 * If @num is 1, returns empty string, otherwise returns "s". 62 */ 63 static inline const char *str_plural(size_t num) 64 { 65 return num == 1 ? "" : "s"; 66 } 67 68 #endif 69