]> code.delx.au - pulseaudio/blob - src/pulsecore/native-common.h
5d1ba6a69fcbcea8725228f2a6cc5c34acefabd6
[pulseaudio] / src / pulsecore / native-common.h
1 #ifndef foonativecommonhfoo
2 #define foonativecommonhfoo
3
4 /***
5 This file is part of PulseAudio.
6
7 Copyright 2004-2006 Lennart Poettering
8 Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
9
10 PulseAudio is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as
12 published by the Free Software Foundation; either version 2.1 of the
13 License, or (at your option) any later version.
14
15 PulseAudio is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public
21 License along with PulseAudio; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23 USA.
24 ***/
25
26 #include <pulse/cdecl.h>
27 #include <pulse/def.h>
28
29 PA_C_DECL_BEGIN
30
31 enum {
32 /* Generic commands */
33 PA_COMMAND_ERROR,
34 PA_COMMAND_TIMEOUT, /* pseudo command */
35 PA_COMMAND_REPLY,
36
37 /* CLIENT->SERVER */
38 PA_COMMAND_CREATE_PLAYBACK_STREAM, /* Payload changed in v9, v12 (0.9.0, 0.9.8) */
39 PA_COMMAND_DELETE_PLAYBACK_STREAM,
40 PA_COMMAND_CREATE_RECORD_STREAM, /* Payload changed in v9, v12 (0.9.0, 0.9.8) */
41 PA_COMMAND_DELETE_RECORD_STREAM,
42 PA_COMMAND_EXIT,
43 PA_COMMAND_AUTH,
44 PA_COMMAND_SET_CLIENT_NAME,
45 PA_COMMAND_LOOKUP_SINK,
46 PA_COMMAND_LOOKUP_SOURCE,
47 PA_COMMAND_DRAIN_PLAYBACK_STREAM,
48 PA_COMMAND_STAT,
49 PA_COMMAND_GET_PLAYBACK_LATENCY,
50 PA_COMMAND_CREATE_UPLOAD_STREAM,
51 PA_COMMAND_DELETE_UPLOAD_STREAM,
52 PA_COMMAND_FINISH_UPLOAD_STREAM,
53 PA_COMMAND_PLAY_SAMPLE,
54 PA_COMMAND_REMOVE_SAMPLE,
55
56 PA_COMMAND_GET_SERVER_INFO,
57 PA_COMMAND_GET_SINK_INFO,
58 PA_COMMAND_GET_SINK_INFO_LIST,
59 PA_COMMAND_GET_SOURCE_INFO,
60 PA_COMMAND_GET_SOURCE_INFO_LIST,
61 PA_COMMAND_GET_MODULE_INFO,
62 PA_COMMAND_GET_MODULE_INFO_LIST,
63 PA_COMMAND_GET_CLIENT_INFO,
64 PA_COMMAND_GET_CLIENT_INFO_LIST,
65 PA_COMMAND_GET_SINK_INPUT_INFO, /* Payload changed in v11 (0.9.7) */
66 PA_COMMAND_GET_SINK_INPUT_INFO_LIST, /* Payload changed in v11 (0.9.7) */
67 PA_COMMAND_GET_SOURCE_OUTPUT_INFO,
68 PA_COMMAND_GET_SOURCE_OUTPUT_INFO_LIST,
69 PA_COMMAND_GET_SAMPLE_INFO,
70 PA_COMMAND_GET_SAMPLE_INFO_LIST,
71 PA_COMMAND_SUBSCRIBE,
72
73 PA_COMMAND_SET_SINK_VOLUME,
74 PA_COMMAND_SET_SINK_INPUT_VOLUME,
75 PA_COMMAND_SET_SOURCE_VOLUME,
76
77 PA_COMMAND_SET_SINK_MUTE,
78 PA_COMMAND_SET_SOURCE_MUTE,
79
80 PA_COMMAND_CORK_PLAYBACK_STREAM,
81 PA_COMMAND_FLUSH_PLAYBACK_STREAM,
82 PA_COMMAND_TRIGGER_PLAYBACK_STREAM,
83
84 PA_COMMAND_SET_DEFAULT_SINK,
85 PA_COMMAND_SET_DEFAULT_SOURCE,
86
87 PA_COMMAND_SET_PLAYBACK_STREAM_NAME,
88 PA_COMMAND_SET_RECORD_STREAM_NAME,
89
90 PA_COMMAND_KILL_CLIENT,
91 PA_COMMAND_KILL_SINK_INPUT,
92 PA_COMMAND_KILL_SOURCE_OUTPUT,
93
94 PA_COMMAND_LOAD_MODULE,
95 PA_COMMAND_UNLOAD_MODULE,
96
97 /* Obsolete */
98 PA_COMMAND_ADD_AUTOLOAD___OBSOLETE,
99 PA_COMMAND_REMOVE_AUTOLOAD___OBSOLETE,
100 PA_COMMAND_GET_AUTOLOAD_INFO___OBSOLETE,
101 PA_COMMAND_GET_AUTOLOAD_INFO_LIST___OBSOLETE,
102
103 PA_COMMAND_GET_RECORD_LATENCY,
104 PA_COMMAND_CORK_RECORD_STREAM,
105 PA_COMMAND_FLUSH_RECORD_STREAM,
106 PA_COMMAND_PREBUF_PLAYBACK_STREAM,
107
108 /* SERVER->CLIENT */
109 PA_COMMAND_REQUEST,
110 PA_COMMAND_OVERFLOW,
111 PA_COMMAND_UNDERFLOW,
112 PA_COMMAND_PLAYBACK_STREAM_KILLED,
113 PA_COMMAND_RECORD_STREAM_KILLED,
114 PA_COMMAND_SUBSCRIBE_EVENT,
115
116 /* A few more client->server commands */
117
118 /* Supported since protocol v10 (0.9.5) */
119 PA_COMMAND_MOVE_SINK_INPUT,
120 PA_COMMAND_MOVE_SOURCE_OUTPUT,
121
122 /* Supported since protocol v11 (0.9.7) */
123 PA_COMMAND_SET_SINK_INPUT_MUTE,
124
125 PA_COMMAND_SUSPEND_SINK,
126 PA_COMMAND_SUSPEND_SOURCE,
127
128 /* Supported since protocol v12 (0.9.8) */
129 PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
130 PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR,
131
132 PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE,
133 PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE,
134
135 /* SERVER->CLIENT */
136 PA_COMMAND_PLAYBACK_STREAM_SUSPENDED,
137 PA_COMMAND_RECORD_STREAM_SUSPENDED,
138 PA_COMMAND_PLAYBACK_STREAM_MOVED,
139 PA_COMMAND_RECORD_STREAM_MOVED,
140
141 /* Supported since protocol v13 (0.9.11) */
142 PA_COMMAND_UPDATE_RECORD_STREAM_PROPLIST,
143 PA_COMMAND_UPDATE_PLAYBACK_STREAM_PROPLIST,
144 PA_COMMAND_UPDATE_CLIENT_PROPLIST,
145 PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST,
146 PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST,
147 PA_COMMAND_REMOVE_CLIENT_PROPLIST,
148
149 /* SERVER->CLIENT */
150 PA_COMMAND_STARTED,
151
152 /* Supported since protocol v14 (0.9.12) */
153 PA_COMMAND_EXTENSION,
154
155 /* Supported since protocol v15 (0.9.15) */
156 PA_COMMAND_GET_CARD_INFO,
157 PA_COMMAND_GET_CARD_INFO_LIST,
158 PA_COMMAND_SET_CARD_PROFILE,
159
160 PA_COMMAND_CLIENT_EVENT,
161 PA_COMMAND_PLAYBACK_STREAM_EVENT,
162 PA_COMMAND_RECORD_STREAM_EVENT,
163
164 /* SERVER->CLIENT */
165 PA_COMMAND_PLAYBACK_BUFFER_ATTR_CHANGED,
166 PA_COMMAND_RECORD_BUFFER_ATTR_CHANGED,
167
168 /* Supported since protocol v16 (0.9.16) */
169 PA_COMMAND_SET_SINK_PORT,
170 PA_COMMAND_SET_SOURCE_PORT,
171
172 /* Supported since protocol v22 (1.0) */
173 PA_COMMAND_SET_SOURCE_OUTPUT_VOLUME,
174 PA_COMMAND_SET_SOURCE_OUTPUT_MUTE,
175
176 PA_COMMAND_MAX
177 };
178
179 #define PA_NATIVE_COOKIE_LENGTH 256
180 #define PA_NATIVE_COOKIE_FILE ".pulse-cookie"
181
182 #define PA_NATIVE_DEFAULT_PORT 4713
183
184 #define PA_NATIVE_COOKIE_PROPERTY_NAME "protocol-native-cookie"
185 #define PA_NATIVE_SERVER_PROPERTY_NAME "protocol-native-server"
186
187 #define PA_NATIVE_DEFAULT_UNIX_SOCKET "native"
188
189 PA_C_DECL_END
190
191 #endif