Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/sound/pcm/sound.h
| Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
| #define SND_STATUSLEN 64 | #define SND_STATUSLEN 64 | ||||
| #define SOUND_MODVER 5 | #define SOUND_MODVER 5 | ||||
| #define SOUND_MINVER SOUND_MODVER | #define SOUND_MINVER SOUND_MODVER | ||||
| #define SOUND_PREFVER SOUND_MODVER | #define SOUND_PREFVER SOUND_MODVER | ||||
| #define SOUND_MAXVER SOUND_MODVER | #define SOUND_MAXVER SOUND_MODVER | ||||
| #define SND_MAXVCHANS 256 | |||||
| #define SD_F_SIMPLEX 0x00000001 | #define SD_F_SIMPLEX 0x00000001 | ||||
| #define SD_F_AUTOVCHAN 0x00000002 | #define SD_F_AUTOVCHAN 0x00000002 | ||||
| #define SD_F_SOFTPCMVOL 0x00000004 | #define SD_F_SOFTPCMVOL 0x00000004 | ||||
| #define SD_F_BUSY 0x00000008 | #define SD_F_BUSY 0x00000008 | ||||
| #define SD_F_MPSAFE 0x00000010 | #define SD_F_MPSAFE 0x00000010 | ||||
| #define SD_F_REGISTERED 0x00000020 | #define SD_F_REGISTERED 0x00000020 | ||||
| #define SD_F_BITPERFECT 0x00000040 | #define SD_F_BITPERFECT 0x00000040 | ||||
| #define SD_F_VPC 0x00000080 /* volume-per-channel */ | #define SD_F_VPC 0x00000080 /* volume-per-channel */ | ||||
| #define SD_F_EQ 0x00000100 /* EQ */ | #define SD_F_EQ 0x00000100 /* EQ */ | ||||
| #define SD_F_EQ_ENABLED 0x00000200 /* EQ enabled */ | #define SD_F_EQ_ENABLED 0x00000200 /* EQ enabled */ | ||||
| #define SD_F_EQ_BYPASSED 0x00000400 /* EQ bypassed */ | #define SD_F_EQ_BYPASSED 0x00000400 /* EQ bypassed */ | ||||
| #define SD_F_EQ_PC 0x00000800 /* EQ per-channel */ | #define SD_F_EQ_PC 0x00000800 /* EQ per-channel */ | ||||
| #define SD_F_PVCHANS 0x00001000 /* Playback vchans enabled */ | |||||
| #define SD_F_RVCHANS 0x00002000 /* Recording vchans enabled */ | |||||
| #define SD_F_EQ_DEFAULT (SD_F_EQ | SD_F_EQ_ENABLED) | #define SD_F_EQ_DEFAULT (SD_F_EQ | SD_F_EQ_ENABLED) | ||||
| #define SD_F_EQ_MASK (SD_F_EQ | SD_F_EQ_ENABLED | \ | #define SD_F_EQ_MASK (SD_F_EQ | SD_F_EQ_ENABLED | \ | ||||
| SD_F_EQ_BYPASSED | SD_F_EQ_PC) | SD_F_EQ_BYPASSED | SD_F_EQ_PC) | ||||
| #define SD_F_PRIO_RD 0x10000000 | #define SD_F_PRIO_RD 0x10000000 | ||||
| #define SD_F_PRIO_WR 0x20000000 | #define SD_F_PRIO_WR 0x20000000 | ||||
| #define SD_F_BITS "\020" \ | #define SD_F_BITS "\020" \ | ||||
| "\001SIMPLEX" \ | "\001SIMPLEX" \ | ||||
| "\002AUTOVCHAN" \ | "\002AUTOVCHAN" \ | ||||
| "\003SOFTPCMVOL" \ | "\003SOFTPCMVOL" \ | ||||
| "\004BUSY" \ | "\004BUSY" \ | ||||
| "\005MPSAFE" \ | "\005MPSAFE" \ | ||||
| "\006REGISTERED" \ | "\006REGISTERED" \ | ||||
| "\007BITPERFECT" \ | "\007BITPERFECT" \ | ||||
| "\010VPC" \ | "\010VPC" \ | ||||
| "\011EQ" \ | "\011EQ" \ | ||||
| "\012EQ_ENABLED" \ | "\012EQ_ENABLED" \ | ||||
| "\013EQ_BYPASSED" \ | "\013EQ_BYPASSED" \ | ||||
| "\014EQ_PC" \ | "\014EQ_PC" \ | ||||
| "\015PVCHANS" \ | |||||
| "\016RVCHANS" \ | |||||
| "\035PRIO_RD" \ | "\035PRIO_RD" \ | ||||
| "\036PRIO_WR" | "\036PRIO_WR" | ||||
| #define PCM_ALIVE(x) ((x) != NULL && (x)->lock != NULL) | #define PCM_ALIVE(x) ((x) != NULL && (x)->lock != NULL) | ||||
| #define PCM_REGISTERED(x) (PCM_ALIVE(x) && ((x)->flags & SD_F_REGISTERED)) | #define PCM_REGISTERED(x) (PCM_ALIVE(x) && ((x)->flags & SD_F_REGISTERED)) | ||||
| #define PCM_MAXCHANS 10000 | |||||
| #define PCM_CHANCOUNT(d) \ | #define PCM_CHANCOUNT(d) \ | ||||
| (d->playcount + d->pvchancount + d->reccount + d->rvchancount) | (d->playcount + d->pvchancount + d->reccount + d->rvchancount) | ||||
| /* many variables should be reduced to a range. Here define a macro */ | /* many variables should be reduced to a range. Here define a macro */ | ||||
| #define RANGE(var, low, high) (var) = \ | #define RANGE(var, low, high) (var) = \ | ||||
| (((var)<(low))? (low) : ((var)>(high))? (high) : (var)) | (((var)<(low))? (low) : ((var)>(high))? (high) : (var)) | ||||
| enum { | enum { | ||||
| Show All 12 Lines | |||||
| extern struct unrhdr *pcmsg_unrhdr; | extern struct unrhdr *pcmsg_unrhdr; | ||||
| #ifndef DEB | #ifndef DEB | ||||
| #define DEB(x) | #define DEB(x) | ||||
| #endif | #endif | ||||
| SYSCTL_DECL(_hw_snd); | SYSCTL_DECL(_hw_snd); | ||||
| int pcm_chnalloc(struct snddev_info *d, struct pcm_channel **ch, int direction, | |||||
| pid_t pid, char *comm); | |||||
| int pcm_addchan(device_t dev, int dir, kobj_class_t cls, void *devinfo); | int pcm_addchan(device_t dev, int dir, kobj_class_t cls, void *devinfo); | ||||
| unsigned int pcm_getbuffersize(device_t dev, unsigned int minbufsz, unsigned int deflt, unsigned int maxbufsz); | unsigned int pcm_getbuffersize(device_t dev, unsigned int minbufsz, unsigned int deflt, unsigned int maxbufsz); | ||||
| void pcm_init(device_t dev, void *devinfo); | void pcm_init(device_t dev, void *devinfo); | ||||
| int pcm_register(device_t dev, char *str); | int pcm_register(device_t dev, char *str); | ||||
| int pcm_unregister(device_t dev); | int pcm_unregister(device_t dev); | ||||
| u_int32_t pcm_getflags(device_t dev); | u_int32_t pcm_getflags(device_t dev); | ||||
| void pcm_setflags(device_t dev, u_int32_t val); | void pcm_setflags(device_t dev, u_int32_t val); | ||||
| void *pcm_getdevinfo(device_t dev); | void *pcm_getdevinfo(device_t dev); | ||||
| Show All 37 Lines | struct { | ||||
| struct { | struct { | ||||
| SLIST_HEAD(, pcm_channel) head; | SLIST_HEAD(, pcm_channel) head; | ||||
| struct { | struct { | ||||
| SLIST_HEAD(, pcm_channel) head; | SLIST_HEAD(, pcm_channel) head; | ||||
| } busy; | } busy; | ||||
| struct { | struct { | ||||
| SLIST_HEAD(, pcm_channel) head; | SLIST_HEAD(, pcm_channel) head; | ||||
| } opened; | } opened; | ||||
| struct { | |||||
| SLIST_HEAD(, pcm_channel) head; | |||||
| } primary; | |||||
| } pcm; | } pcm; | ||||
| } channels; | } channels; | ||||
| unsigned playcount, reccount, pvchancount, rvchancount; | unsigned playcount, reccount, pvchancount, rvchancount; | ||||
| unsigned flags; | unsigned flags; | ||||
| unsigned int bufsz; | unsigned int bufsz; | ||||
| void *devinfo; | void *devinfo; | ||||
| device_t dev; | device_t dev; | ||||
| char status[SND_STATUSLEN]; | char status[SND_STATUSLEN]; | ||||
| ▲ Show 20 Lines • Show All 281 Lines • Show Last 20 Lines | |||||