Blame view
include/sound/info.h
7.86 KB
1a59d1b8e treewide: Replace... |
1 |
/* SPDX-License-Identifier: GPL-2.0-or-later */ |
1da177e4c Linux-2.6.12-rc2 |
2 3 4 5 6 |
#ifndef __SOUND_INFO_H #define __SOUND_INFO_H /* * Header file for info interface |
c1017a4cd [ALSA] Changed Ja... |
7 |
* Copyright (c) by Jaroslav Kysela <perex@perex.cz> |
1da177e4c Linux-2.6.12-rc2 |
8 9 10 |
*/ #include <linux/poll.h> |
4adb7bcbc ALSA: core: Use s... |
11 |
#include <linux/seq_file.h> |
c560a6797 ALSA: core: Remov... |
12 |
#include <sound/core.h> |
1da177e4c Linux-2.6.12-rc2 |
13 14 15 16 |
/* buffer for information */ struct snd_info_buffer { char *buffer; /* pointer to begin of buffer */ |
7e4eeec8a [ALSA] Make buffe... |
17 18 19 |
unsigned int curr; /* current position in buffer */ unsigned int size; /* current size */ unsigned int len; /* total length of buffer */ |
1da177e4c Linux-2.6.12-rc2 |
20 21 22 |
int stop; /* stop flag */ int error; /* error code */ }; |
1da177e4c Linux-2.6.12-rc2 |
23 24 25 26 27 28 |
#define SNDRV_INFO_CONTENT_TEXT 0 #define SNDRV_INFO_CONTENT_DATA 1 struct snd_info_entry; struct snd_info_entry_text { |
fd64138c0 ALSA: include/sou... |
29 30 31 32 |
void (*read)(struct snd_info_entry *entry, struct snd_info_buffer *buffer); void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer); |
1da177e4c Linux-2.6.12-rc2 |
33 34 35 |
}; struct snd_info_entry_ops { |
fd64138c0 ALSA: include/sou... |
36 37 38 39 |
int (*open)(struct snd_info_entry *entry, unsigned short mode, void **file_private_data); int (*release)(struct snd_info_entry *entry, unsigned short mode, void *file_private_data); |
24e4a1211 ALSA: info - Use ... |
40 41 42 43 44 45 46 47 48 |
ssize_t (*read)(struct snd_info_entry *entry, void *file_private_data, struct file *file, char __user *buf, size_t count, loff_t pos); ssize_t (*write)(struct snd_info_entry *entry, void *file_private_data, struct file *file, const char __user *buf, size_t count, loff_t pos); loff_t (*llseek)(struct snd_info_entry *entry, void *file_private_data, struct file *file, loff_t offset, int orig); |
a3f8683bf ->poll() methods ... |
49 |
__poll_t (*poll)(struct snd_info_entry *entry, |
24e4a1211 ALSA: info - Use ... |
50 51 |
void *file_private_data, struct file *file, poll_table *wait); |
fd64138c0 ALSA: include/sou... |
52 53 54 55 56 |
int (*ioctl)(struct snd_info_entry *entry, void *file_private_data, struct file *file, unsigned int cmd, unsigned long arg); int (*mmap)(struct snd_info_entry *entry, void *file_private_data, struct inode *inode, struct file *file, struct vm_area_struct *vma); |
1da177e4c Linux-2.6.12-rc2 |
57 58 59 60 |
}; struct snd_info_entry { const char *name; |
d161a13f9 switch procfs to ... |
61 |
umode_t mode; |
1da177e4c Linux-2.6.12-rc2 |
62 63 |
long size; unsigned short content; |
1da177e4c Linux-2.6.12-rc2 |
64 65 |
union { struct snd_info_entry_text text; |
d25ff2684 ALSA: info: Make ... |
66 |
const struct snd_info_entry_ops *ops; |
1da177e4c Linux-2.6.12-rc2 |
67 |
} c; |
24c1f9318 [ALSA] Remove xxx... |
68 |
struct snd_info_entry *parent; |
1da177e4c Linux-2.6.12-rc2 |
69 70 |
struct module *module; void *private_data; |
24c1f9318 [ALSA] Remove xxx... |
71 |
void (*private_free)(struct snd_info_entry *entry); |
1da177e4c Linux-2.6.12-rc2 |
72 |
struct proc_dir_entry *p; |
1a60d4c5a [ALSA] semaphore ... |
73 |
struct mutex access; |
746d4a02e [ALSA] Fix discon... |
74 75 |
struct list_head children; struct list_head list; |
1da177e4c Linux-2.6.12-rc2 |
76 |
}; |
cd6a65036 ALSA: replace CON... |
77 |
#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_SND_PROC_FS) |
24c1f9318 [ALSA] Remove xxx... |
78 |
int snd_info_minor_register(void); |
1da177e4c Linux-2.6.12-rc2 |
79 |
#else |
a0dca822e ALSA: core: Clean... |
80 |
#define snd_info_minor_register() 0 |
1da177e4c Linux-2.6.12-rc2 |
81 |
#endif |
cd6a65036 ALSA: replace CON... |
82 |
#ifdef CONFIG_SND_PROC_FS |
1da177e4c Linux-2.6.12-rc2 |
83 |
|
24c1f9318 [ALSA] Remove xxx... |
84 |
extern struct snd_info_entry *snd_seq_root; |
1da177e4c Linux-2.6.12-rc2 |
85 |
#ifdef CONFIG_SND_OSSEMUL |
24c1f9318 [ALSA] Remove xxx... |
86 |
extern struct snd_info_entry *snd_oss_root; |
36b9cdfea [ALSA] info_oss: ... |
87 |
void snd_card_info_read_oss(struct snd_info_buffer *buffer); |
1da177e4c Linux-2.6.12-rc2 |
88 89 |
#else #define snd_oss_root NULL |
36b9cdfea [ALSA] info_oss: ... |
90 |
static inline void snd_card_info_read_oss(struct snd_info_buffer *buffer) {} |
1da177e4c Linux-2.6.12-rc2 |
91 |
#endif |
4adb7bcbc ALSA: core: Use s... |
92 93 94 95 96 97 98 99 100 101 102 |
/** * snd_iprintf - printf on the procfs buffer * @buf: the procfs buffer * @fmt: the printf format * * Outputs the string on the procfs buffer just like printf(). * * Return: zero for success, or a negative error code. */ #define snd_iprintf(buf, fmt, args...) \ seq_printf((struct seq_file *)(buf)->buffer, fmt, ##args) |
1da177e4c Linux-2.6.12-rc2 |
103 104 |
int snd_info_init(void); int snd_info_done(void); |
fd64138c0 ALSA: include/sou... |
105 |
int snd_info_get_line(struct snd_info_buffer *buffer, char *line, int len); |
4f7454a99 ALSA: Add const p... |
106 |
const char *snd_info_get_str(char *dest, const char *src, int len); |
fd64138c0 ALSA: include/sou... |
107 |
struct snd_info_entry *snd_info_create_module_entry(struct module *module, |
1da177e4c Linux-2.6.12-rc2 |
108 |
const char *name, |
fd64138c0 ALSA: include/sou... |
109 110 |
struct snd_info_entry *parent); struct snd_info_entry *snd_info_create_card_entry(struct snd_card *card, |
1da177e4c Linux-2.6.12-rc2 |
111 |
const char *name, |
fd64138c0 ALSA: include/sou... |
112 113 114 115 116 117 118 119 120 121 122 |
struct snd_info_entry *parent); void snd_info_free_entry(struct snd_info_entry *entry); int snd_info_store_text(struct snd_info_entry *entry); int snd_info_restore_text(struct snd_info_entry *entry); int snd_info_card_create(struct snd_card *card); int snd_info_card_register(struct snd_card *card); int snd_info_card_free(struct snd_card *card); void snd_info_card_disconnect(struct snd_card *card); void snd_info_card_id_change(struct snd_card *card); int snd_info_register(struct snd_info_entry *entry); |
1da177e4c Linux-2.6.12-rc2 |
123 124 |
/* for card drivers */ |
c560a6797 ALSA: core: Remov... |
125 126 127 128 129 130 |
static inline int snd_card_proc_new(struct snd_card *card, const char *name, struct snd_info_entry **entryp) { *entryp = snd_info_create_card_entry(card, name, card->proc_root); return *entryp ? 0 : -ENOMEM; } |
1da177e4c Linux-2.6.12-rc2 |
131 |
|
24c1f9318 [ALSA] Remove xxx... |
132 |
static inline void snd_info_set_text_ops(struct snd_info_entry *entry, |
fd64138c0 ALSA: include/sou... |
133 134 |
void *private_data, void (*read)(struct snd_info_entry *, struct snd_info_buffer *)) |
1da177e4c Linux-2.6.12-rc2 |
135 136 |
{ entry->private_data = private_data; |
1da177e4c Linux-2.6.12-rc2 |
137 138 |
entry->c.text.read = read; } |
7453e1daf ALSA: info: Add s... |
139 140 141 142 143 144 |
int snd_card_rw_proc_new(struct snd_card *card, const char *name, void *private_data, void (*read)(struct snd_info_entry *, struct snd_info_buffer *), void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer)); |
e28563cce [ALSA] Optimize f... |
145 |
int snd_info_check_reserved_words(const char *str); |
1da177e4c Linux-2.6.12-rc2 |
146 147 148 149 150 |
#else #define snd_seq_root NULL #define snd_oss_root NULL |
fd64138c0 ALSA: include/sou... |
151 |
static inline int snd_iprintf(struct snd_info_buffer *buffer, char *fmt, ...) { return 0; } |
1da177e4c Linux-2.6.12-rc2 |
152 153 |
static inline int snd_info_init(void) { return 0; } static inline int snd_info_done(void) { return 0; } |
fd64138c0 ALSA: include/sou... |
154 |
static inline int snd_info_get_line(struct snd_info_buffer *buffer, char *line, int len) { return 0; } |
1da177e4c Linux-2.6.12-rc2 |
155 |
static inline char *snd_info_get_str(char *dest, char *src, int len) { return NULL; } |
fd64138c0 ALSA: include/sou... |
156 157 158 159 160 161 162 163 164 165 |
static inline struct snd_info_entry *snd_info_create_module_entry(struct module *module, const char *name, struct snd_info_entry *parent) { return NULL; } static inline struct snd_info_entry *snd_info_create_card_entry(struct snd_card *card, const char *name, struct snd_info_entry *parent) { return NULL; } static inline void snd_info_free_entry(struct snd_info_entry *entry) { ; } static inline int snd_info_card_create(struct snd_card *card) { return 0; } static inline int snd_info_card_register(struct snd_card *card) { return 0; } static inline int snd_info_card_free(struct snd_card *card) { return 0; } static inline void snd_info_card_disconnect(struct snd_card *card) { } static inline void snd_info_card_id_change(struct snd_card *card) { } static inline int snd_info_register(struct snd_info_entry *entry) { return 0; } |
1da177e4c Linux-2.6.12-rc2 |
166 |
|
e28563cce [ALSA] Optimize f... |
167 168 169 170 |
static inline int snd_card_proc_new(struct snd_card *card, const char *name, struct snd_info_entry **entryp) { return -EINVAL; } static inline void snd_info_set_text_ops(struct snd_info_entry *entry __attribute__((unused)), void *private_data, |
e28563cce [ALSA] Optimize f... |
171 |
void (*read)(struct snd_info_entry *, struct snd_info_buffer *)) {} |
7453e1daf ALSA: info: Add s... |
172 173 174 175 176 177 178 179 180 |
static inline int snd_card_rw_proc_new(struct snd_card *card, const char *name, void *private_data, void (*read)(struct snd_info_entry *, struct snd_info_buffer *), void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer)) { return 0; } |
e28563cce [ALSA] Optimize f... |
181 |
static inline int snd_info_check_reserved_words(const char *str) { return 1; } |
1da177e4c Linux-2.6.12-rc2 |
182 183 |
#endif |
7453e1daf ALSA: info: Add s... |
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
/** * snd_card_ro_proc_new - Create a read-only text proc file entry for the card * @card: the card instance * @name: the file name * @private_data: the arbitrary private data * @read: the read callback * * This proc file entry will be registered via snd_card_register() call, and * it will be removed automatically at the card removal, too. */ static inline int snd_card_ro_proc_new(struct snd_card *card, const char *name, void *private_data, void (*read)(struct snd_info_entry *, struct snd_info_buffer *)) { return snd_card_rw_proc_new(card, name, private_data, read, NULL); } |
1da177e4c Linux-2.6.12-rc2 |
202 203 204 |
/* * OSS info part */ |
cd6a65036 ALSA: replace CON... |
205 |
#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_SND_PROC_FS) |
1da177e4c Linux-2.6.12-rc2 |
206 207 208 209 210 211 212 213 |
#define SNDRV_OSS_INFO_DEV_AUDIO 0 #define SNDRV_OSS_INFO_DEV_SYNTH 1 #define SNDRV_OSS_INFO_DEV_MIDI 2 #define SNDRV_OSS_INFO_DEV_TIMERS 4 #define SNDRV_OSS_INFO_DEV_MIXERS 5 #define SNDRV_OSS_INFO_DEV_COUNT 6 |
24c1f9318 [ALSA] Remove xxx... |
214 |
int snd_oss_info_register(int dev, int num, char *string); |
1da177e4c Linux-2.6.12-rc2 |
215 |
#define snd_oss_info_unregister(dev, num) snd_oss_info_register(dev, num, NULL) |
cd6a65036 ALSA: replace CON... |
216 |
#endif /* CONFIG_SND_OSSEMUL && CONFIG_SND_PROC_FS */ |
1da177e4c Linux-2.6.12-rc2 |
217 218 |
#endif /* __SOUND_INFO_H */ |