2
* Purpose: Definition file for the oss_userdev driver
7
* This file is part of Open Sound System.
9
* Copyright (C) 4Front Technologies 1996-2008.
11
* This this source file is released under GPL v2 license (no other versions).
12
* See the COPYING file included in the main directory of this source
13
* distribution for the license terms and conditions.
16
#define MAX_RATE 192000
17
#define MAX_CHANNELS 64
18
#define SUPPORTED_FORMATS (AFMT_S16_NE|AFMT_S32_NE)
20
typedef struct _userdev_devc_t userdev_devc_t;
21
typedef struct _userdev_portc_t userdev_portc_t;
23
struct _userdev_portc_t
26
userdev_portc_t *peer;
34
int input_triggered, output_triggered;
37
struct _userdev_devc_t
43
int open_count; /* 0=not in use, 2=both client and server in use */
45
int create_flags; /* Flags from ioctl(USERDEV_CREATE_INSTANCE) */
47
unsigned int poll_ticks; /* Number of clock tickes (OSS_HZ) between polls. */
49
unsigned int match_method;
50
unsigned int match_key;
53
userdev_devc_t *next_instance;
57
unsigned int fmt, fmt_bytes;
58
timeout_id_t timeout_id;
60
userdev_portc_t client_portc;
61
userdev_portc_t server_portc;
64
* Mixer related fields
67
int mixer_values[USERDEV_MAX_MIXERS];
70
extern oss_device_t *userdev_osdev;
71
extern oss_mutex_t userdev_global_mutex;
72
extern userdev_devc_t *userdev_active_device_list;
73
extern userdev_devc_t *userdev_free_device_list;
75
extern int userdev_create_device_pair(void);
76
extern void userdev_delete_device_pair(userdev_devc_t *devc);
77
extern int usrdev_find_free_device_pair(void);
78
extern void userdev_reinit_instance(userdev_devc_t *devc);
80
extern char *userdev_client_devnode;
81
extern char *userdev_server_devnode;