2 * ossp - OSS Proxy: emulate OSS device using CUSE
4 * Copyright (C) 2008-2010 SUSE Linux Products GmbH
5 * Copyright (C) 2008-2010 Tejun Heo <tj@kernel.org>
7 * This file is released under the GPLv2.
13 #include <sys/types.h>
15 #include <semaphore.h>
16 #include <sys/soundcard.h>
18 #define OSSP_VERSION "1.3.2"
19 #define OSSP_CMD_MAGIC 0xdeadbeef
20 #define OSSP_REPLY_MAGIC 0xbeefdead
21 #define OSSP_NOTIFY_MAGIC 0xbebebebe
43 OSSP_DSP_GET_CHANNELS
,
48 OSSP_DSP_SET_CHANNELS
,
50 OSSP_DSP_SET_SUBDIVISION
,
52 OSSP_DSP_SET_FRAGMENT
,
64 enum ossp_notify_opcode
{
71 OSSP_NR_NOTIFY_OPCODES
,
74 struct ossp_transfer
{
80 struct ossp_mixer_arg
{
84 struct ossp_dsp_open_arg
{
89 struct ossp_dsp_rw_arg
{
93 struct ossp_dsp_mmap_arg
{
100 enum ossp_opcode opcode
;
108 size_t dout_size
; /* <= cmd.data_in_size */
113 enum ossp_notify_opcode opcode
;
116 struct ossp_arg_size
{
122 extern const struct ossp_arg_size ossp_arg_sizes
[OSSP_NR_OPCODES
];
123 extern const char *ossp_cmd_str
[OSSP_NR_OPCODES
];
124 extern const char *ossp_notify_str
[OSSP_NR_NOTIFY_OPCODES
];