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 */
39 /* Commands from client to server */
40 PA_COMMAND_CREATE_PLAYBACK_STREAM
,
41 PA_COMMAND_DELETE_PLAYBACK_STREAM
,
42 PA_COMMAND_CREATE_RECORD_STREAM
,
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
,
68 PA_COMMAND_GET_SINK_INPUT_INFO_LIST
,
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
,
95 PA_COMMAND_LOAD_MODULE
,
96 PA_COMMAND_UNLOAD_MODULE
,
97 PA_COMMAND_ADD_AUTOLOAD
,
98 PA_COMMAND_REMOVE_AUTOLOAD
,
99 PA_COMMAND_GET_AUTOLOAD_INFO
,
100 PA_COMMAND_GET_AUTOLOAD_INFO_LIST
,
101 PA_COMMAND_GET_RECORD_LATENCY
,
102 PA_COMMAND_CORK_RECORD_STREAM
,
103 PA_COMMAND_FLUSH_RECORD_STREAM
,
104 PA_COMMAND_PREBUF_PLAYBACK_STREAM
,
106 /* Commands from server to client */
109 PA_COMMAND_UNDERFLOW
,
110 PA_COMMAND_PLAYBACK_STREAM_KILLED
,
111 PA_COMMAND_RECORD_STREAM_KILLED
,
112 PA_COMMAND_SUBSCRIBE_EVENT
,
114 /* A few more client->server commands */
115 PA_COMMAND_MOVE_SINK_INPUT
,
116 PA_COMMAND_MOVE_SOURCE_OUTPUT
,
118 PA_COMMAND_SET_SINK_INPUT_MUTE
,
120 PA_COMMAND_SUSPEND_SINK
,
121 PA_COMMAND_SUSPEND_SOURCE
,
126 #define PA_NATIVE_COOKIE_LENGTH 256
127 #define PA_NATIVE_COOKIE_FILE ".pulse-cookie"
129 #define PA_NATIVE_DEFAULT_PORT 4713
131 #define PA_NATIVE_COOKIE_PROPERTY_NAME "protocol-native-cookie"
132 #define PA_NATIVE_SERVER_PROPERTY_NAME "protocol-native-server"
134 #define PA_NATIVE_DEFAULT_UNIX_SOCKET "native"