Blame view
include/sound/info.h
7.15 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 |
#ifndef __SOUND_INFO_H #define __SOUND_INFO_H /* * Header file for info interface |
c1017a4cd [ALSA] Changed Ja... |
6 |
* Copyright (c) by Jaroslav Kysela <perex@perex.cz> |
1da177e4c Linux-2.6.12-rc2 |
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
* * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #include <linux/poll.h> /* buffer for information */ struct snd_info_buffer { char *buffer; /* pointer to begin of buffer */ |
7e4eeec8a [ALSA] Make buffe... |
30 31 32 |
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 |
33 34 35 |
int stop; /* stop flag */ int error; /* error code */ }; |
1da177e4c Linux-2.6.12-rc2 |
36 37 38 39 40 41 |
#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... |
42 43 44 45 |
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 |
46 47 48 |
}; struct snd_info_entry_ops { |
fd64138c0 ALSA: include/sou... |
49 50 51 52 53 54 55 56 57 |
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); long (*read)(struct snd_info_entry *entry, void *file_private_data, struct file *file, char __user *buf, unsigned long count, unsigned long pos); long (*write)(struct snd_info_entry *entry, void *file_private_data, struct file *file, const char __user *buf, |
1da177e4c Linux-2.6.12-rc2 |
58 |
unsigned long count, unsigned long pos); |
fd64138c0 ALSA: include/sou... |
59 60 61 62 63 64 65 66 67 68 69 |
long long (*llseek)(struct snd_info_entry *entry, void *file_private_data, struct file *file, long long offset, int orig); unsigned int(*poll)(struct snd_info_entry *entry, void *file_private_data, struct file *file, poll_table *wait); 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 |
70 71 72 73 74 75 76 |
}; struct snd_info_entry { const char *name; mode_t mode; long size; unsigned short content; |
1da177e4c Linux-2.6.12-rc2 |
77 78 79 80 |
union { struct snd_info_entry_text text; struct snd_info_entry_ops *ops; } c; |
24c1f9318 [ALSA] Remove xxx... |
81 82 |
struct snd_info_entry *parent; struct snd_card *card; |
1da177e4c Linux-2.6.12-rc2 |
83 84 |
struct module *module; void *private_data; |
24c1f9318 [ALSA] Remove xxx... |
85 |
void (*private_free)(struct snd_info_entry *entry); |
1da177e4c Linux-2.6.12-rc2 |
86 |
struct proc_dir_entry *p; |
1a60d4c5a [ALSA] semaphore ... |
87 |
struct mutex access; |
746d4a02e [ALSA] Fix discon... |
88 89 |
struct list_head children; struct list_head list; |
1da177e4c Linux-2.6.12-rc2 |
90 |
}; |
1da177e4c Linux-2.6.12-rc2 |
91 |
#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS) |
24c1f9318 [ALSA] Remove xxx... |
92 93 |
int snd_info_minor_register(void); int snd_info_minor_unregister(void); |
1da177e4c Linux-2.6.12-rc2 |
94 95 96 97 98 99 100 |
#else #define snd_info_minor_register() /* NOP */ #define snd_info_minor_unregister() /* NOP */ #endif #ifdef CONFIG_PROC_FS |
24c1f9318 [ALSA] Remove xxx... |
101 |
extern struct snd_info_entry *snd_seq_root; |
1da177e4c Linux-2.6.12-rc2 |
102 |
#ifdef CONFIG_SND_OSSEMUL |
24c1f9318 [ALSA] Remove xxx... |
103 |
extern struct snd_info_entry *snd_oss_root; |
36b9cdfea [ALSA] info_oss: ... |
104 |
void snd_card_info_read_oss(struct snd_info_buffer *buffer); |
1da177e4c Linux-2.6.12-rc2 |
105 106 |
#else #define snd_oss_root NULL |
36b9cdfea [ALSA] info_oss: ... |
107 |
static inline void snd_card_info_read_oss(struct snd_info_buffer *buffer) {} |
1da177e4c Linux-2.6.12-rc2 |
108 |
#endif |
4f7454a99 ALSA: Add const p... |
109 |
int snd_iprintf(struct snd_info_buffer *buffer, const char *fmt, ...) \ |
fd64138c0 ALSA: include/sou... |
110 |
__attribute__ ((format (printf, 2, 3))); |
1da177e4c Linux-2.6.12-rc2 |
111 112 |
int snd_info_init(void); int snd_info_done(void); |
fd64138c0 ALSA: include/sou... |
113 |
int snd_info_get_line(struct snd_info_buffer *buffer, char *line, int len); |
4f7454a99 ALSA: Add const p... |
114 |
const char *snd_info_get_str(char *dest, const char *src, int len); |
fd64138c0 ALSA: include/sou... |
115 |
struct snd_info_entry *snd_info_create_module_entry(struct module *module, |
1da177e4c Linux-2.6.12-rc2 |
116 |
const char *name, |
fd64138c0 ALSA: include/sou... |
117 118 |
struct snd_info_entry *parent); struct snd_info_entry *snd_info_create_card_entry(struct snd_card *card, |
1da177e4c Linux-2.6.12-rc2 |
119 |
const char *name, |
fd64138c0 ALSA: include/sou... |
120 121 122 123 124 125 126 127 128 129 130 |
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 |
131 132 |
/* for card drivers */ |
fd64138c0 ALSA: include/sou... |
133 134 |
int snd_card_proc_new(struct snd_card *card, const char *name, struct snd_info_entry **entryp); |
1da177e4c Linux-2.6.12-rc2 |
135 |
|
24c1f9318 [ALSA] Remove xxx... |
136 |
static inline void snd_info_set_text_ops(struct snd_info_entry *entry, |
fd64138c0 ALSA: include/sou... |
137 138 |
void *private_data, void (*read)(struct snd_info_entry *, struct snd_info_buffer *)) |
1da177e4c Linux-2.6.12-rc2 |
139 140 |
{ entry->private_data = private_data; |
1da177e4c Linux-2.6.12-rc2 |
141 142 |
entry->c.text.read = read; } |
e28563cce [ALSA] Optimize f... |
143 |
int snd_info_check_reserved_words(const char *str); |
1da177e4c Linux-2.6.12-rc2 |
144 145 146 147 148 |
#else #define snd_seq_root NULL #define snd_oss_root NULL |
fd64138c0 ALSA: include/sou... |
149 |
static inline int snd_iprintf(struct snd_info_buffer *buffer, char *fmt, ...) { return 0; } |
1da177e4c Linux-2.6.12-rc2 |
150 151 |
static inline int snd_info_init(void) { return 0; } static inline int snd_info_done(void) { return 0; } |
fd64138c0 ALSA: include/sou... |
152 |
static inline int snd_info_get_line(struct snd_info_buffer *buffer, char *line, int len) { return 0; } |
1da177e4c Linux-2.6.12-rc2 |
153 |
static inline char *snd_info_get_str(char *dest, char *src, int len) { return NULL; } |
fd64138c0 ALSA: include/sou... |
154 155 156 157 158 159 160 161 162 163 |
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 |
164 |
|
e28563cce [ALSA] Optimize f... |
165 166 167 168 |
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... |
169 170 171 |
void (*read)(struct snd_info_entry *, struct snd_info_buffer *)) {} static inline int snd_info_check_reserved_words(const char *str) { return 1; } |
1da177e4c Linux-2.6.12-rc2 |
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
#endif /* * OSS info part */ #if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS) #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... |
188 |
int snd_oss_info_register(int dev, int num, char *string); |
1da177e4c Linux-2.6.12-rc2 |
189 190 191 192 193 |
#define snd_oss_info_unregister(dev, num) snd_oss_info_register(dev, num, NULL) #endif /* CONFIG_SND_OSSEMUL && CONFIG_PROC_FS */ #endif /* __SOUND_INFO_H */ |