1 #ifndef foonativecommonhfoo
2 #define foonativecommonhfoo
7 This file is part of PulseAudio.
9 Copyright 2004-2006 Lennart Poettering
10 Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
12 PulseAudio is free software; you can redistribute it and/or modify
13 it under the terms of the GNU Lesser General Public License as
14 published by the Free Software Foundation; either version 2.1 of the
15 License, or (at your option) any later version.
17 PulseAudio is distributed in the hope that it will be useful, but
18 WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 Lesser General Public License for more details.
22 You should have received a copy of the GNU Lesser General Public
23 License along with PulseAudio; if not, write to the Free Software
24 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
28 #include <pulse/cdecl.h>
29 #include <pulse/def.h>
34 /* Generic commands */
36 PA_COMMAND_TIMEOUT, /* pseudo command */
40 PA_COMMAND_CREATE_PLAYBACK_STREAM, /* Payload changed in v9, v12 (0.9.0, 0.9.8) */
41 PA_COMMAND_DELETE_PLAYBACK_STREAM,
42 PA_COMMAND_CREATE_RECORD_STREAM, /* Payload changed in v9, v12 (0.9.0, 0.9.8) */
43 PA_COMMAND_DELETE_RECORD_STREAM,
46 PA_COMMAND_SET_CLIENT_NAME,
47 PA_COMMAND_LOOKUP_SINK,
48 PA_COMMAND_LOOKUP_SOURCE,
49 PA_COMMAND_DRAIN_PLAYBACK_STREAM,
51 PA_COMMAND_GET_PLAYBACK_LATENCY,
52 PA_COMMAND_CREATE_UPLOAD_STREAM,
53 PA_COMMAND_DELETE_UPLOAD_STREAM,
54 PA_COMMAND_FINISH_UPLOAD_STREAM,
55 PA_COMMAND_PLAY_SAMPLE,
56 PA_COMMAND_REMOVE_SAMPLE,
58 PA_COMMAND_GET_SERVER_INFO,
59 PA_COMMAND_GET_SINK_INFO,
60 PA_COMMAND_GET_SINK_INFO_LIST,
61 PA_COMMAND_GET_SOURCE_INFO,
62 PA_COMMAND_GET_SOURCE_INFO_LIST,
63 PA_COMMAND_GET_MODULE_INFO,
64 PA_COMMAND_GET_MODULE_INFO_LIST,
65 PA_COMMAND_GET_CLIENT_INFO,
66 PA_COMMAND_GET_CLIENT_INFO_LIST,
67 PA_COMMAND_GET_SINK_INPUT_INFO, /* Payload changed in v11 (0.9.7) */
68 PA_COMMAND_GET_SINK_INPUT_INFO_LIST, /* Payload changed in v11 (0.9.7) */
69 PA_COMMAND_GET_SOURCE_OUTPUT_INFO,
70 PA_COMMAND_GET_SOURCE_OUTPUT_INFO_LIST,
71 PA_COMMAND_GET_SAMPLE_INFO,
72 PA_COMMAND_GET_SAMPLE_INFO_LIST,
75 PA_COMMAND_SET_SINK_VOLUME,
76 PA_COMMAND_SET_SINK_INPUT_VOLUME,
77 PA_COMMAND_SET_SOURCE_VOLUME,
79 PA_COMMAND_SET_SINK_MUTE,
80 PA_COMMAND_SET_SOURCE_MUTE,
82 PA_COMMAND_CORK_PLAYBACK_STREAM,
83 PA_COMMAND_FLUSH_PLAYBACK_STREAM,
84 PA_COMMAND_TRIGGER_PLAYBACK_STREAM,
86 PA_COMMAND_SET_DEFAULT_SINK,
87 PA_COMMAND_SET_DEFAULT_SOURCE,
89 PA_COMMAND_SET_PLAYBACK_STREAM_NAME,
90 PA_COMMAND_SET_RECORD_STREAM_NAME,
92 PA_COMMAND_KILL_CLIENT,
93 PA_COMMAND_KILL_SINK_INPUT,
94 PA_COMMAND_KILL_SOURCE_OUTPUT,
96 PA_COMMAND_LOAD_MODULE,
97 PA_COMMAND_UNLOAD_MODULE,
99 PA_COMMAND_ADD_AUTOLOAD,
100 PA_COMMAND_REMOVE_AUTOLOAD,
101 PA_COMMAND_GET_AUTOLOAD_INFO,
102 PA_COMMAND_GET_AUTOLOAD_INFO_LIST,
104 PA_COMMAND_GET_RECORD_LATENCY,
105 PA_COMMAND_CORK_RECORD_STREAM,
106 PA_COMMAND_FLUSH_RECORD_STREAM,
107 PA_COMMAND_PREBUF_PLAYBACK_STREAM,
112 PA_COMMAND_UNDERFLOW,
113 PA_COMMAND_PLAYBACK_STREAM_KILLED,
114 PA_COMMAND_RECORD_STREAM_KILLED,
115 PA_COMMAND_SUBSCRIBE_EVENT,
117 /* A few more client->server commands */
119 /* Supported since protocol v10 (0.9.5) */
120 PA_COMMAND_MOVE_SINK_INPUT,
121 PA_COMMAND_MOVE_SOURCE_OUTPUT,
123 /* Supported since protocol v11 (0.9.7) */
124 PA_COMMAND_SET_SINK_INPUT_MUTE,
126 PA_COMMAND_SUSPEND_SINK,
127 PA_COMMAND_SUSPEND_SOURCE,
129 /* Supported since protocol v12 (0.9.8) */
130 PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
131 PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR,
133 PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE,
134 PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE,
137 PA_COMMAND_PLAYBACK_STREAM_SUSPENDED,
138 PA_COMMAND_RECORD_STREAM_SUSPENDED,
139 PA_COMMAND_PLAYBACK_STREAM_MOVED,
140 PA_COMMAND_RECORD_STREAM_MOVED,
142 /* Supported since protocol v13 (0.9.10) */
143 PA_COMMAND_UPDATE_RECORD_STREAM_PROPLIST,
144 PA_COMMAND_UPDATE_PLAYBACK_STREAM_PROPLIST,
145 PA_COMMAND_UPDATE_CLIENT_PROPLIST,
146 PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST,
147 PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST,
148 PA_COMMAND_REMOVE_CLIENT_PROPLIST,
156 #define PA_NATIVE_COOKIE_LENGTH 256
157 #define PA_NATIVE_COOKIE_FILE ".pulse-cookie"
159 #define PA_NATIVE_DEFAULT_PORT 4713
161 #define PA_NATIVE_COOKIE_PROPERTY_NAME "protocol-native-cookie"
162 #define PA_NATIVE_SERVER_PROPERTY_NAME "protocol-native-server"
164 #define PA_NATIVE_DEFAULT_UNIX_SOCKET "native"