]> code.delx.au - pulseaudio/blob - src/pulsecore/native-common.h
Merge dead branch 'lockfree'
[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 PA_COMMAND_ADD_AUTOLOAD,
98 PA_COMMAND_REMOVE_AUTOLOAD,
99 PA_COMMAND_GET_AUTOLOAD_INFO,
100 PA_COMMAND_GET_AUTOLOAD_INFO_LIST,
101
102 PA_COMMAND_GET_RECORD_LATENCY,
103 PA_COMMAND_CORK_RECORD_STREAM,
104 PA_COMMAND_FLUSH_RECORD_STREAM,
105 PA_COMMAND_PREBUF_PLAYBACK_STREAM,
106
107 /* SERVER->CLIENT */
108 PA_COMMAND_REQUEST,
109 PA_COMMAND_OVERFLOW,
110 PA_COMMAND_UNDERFLOW,
111 PA_COMMAND_PLAYBACK_STREAM_KILLED,
112 PA_COMMAND_RECORD_STREAM_KILLED,
113 PA_COMMAND_SUBSCRIBE_EVENT,
114
115 /* A few more client->server commands */
116
117 /* Supported since protocol v10 (0.9.5) */
118 PA_COMMAND_MOVE_SINK_INPUT,
119 PA_COMMAND_MOVE_SOURCE_OUTPUT,
120
121 /* Supported since protocol v11 (0.9.7) */
122 PA_COMMAND_SET_SINK_INPUT_MUTE,
123
124 PA_COMMAND_SUSPEND_SINK,
125 PA_COMMAND_SUSPEND_SOURCE,
126
127 /* Supported since protocol v12 (0.9.8) */
128 PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
129 PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR,
130
131 PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE,
132 PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE,
133
134 /* SERVER->CLIENT */
135 PA_COMMAND_PLAYBACK_STREAM_SUSPENDED,
136 PA_COMMAND_RECORD_STREAM_SUSPENDED,
137 PA_COMMAND_PLAYBACK_STREAM_MOVED,
138 PA_COMMAND_RECORD_STREAM_MOVED,
139
140 /* Supported since protocol v13 (0.9.10) */
141 PA_COMMAND_UPDATE_RECORD_STREAM_PROPLIST,
142 PA_COMMAND_UPDATE_PLAYBACK_STREAM_PROPLIST,
143 PA_COMMAND_UPDATE_CLIENT_PROPLIST,
144 PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST,
145 PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST,
146 PA_COMMAND_REMOVE_CLIENT_PROPLIST,
147
148 /* SERVER->CLIENT */
149 PA_COMMAND_STARTED,
150
151 PA_COMMAND_MAX
152 };
153
154 #define PA_NATIVE_COOKIE_LENGTH 256
155 #define PA_NATIVE_COOKIE_FILE ".pulse-cookie"
156
157 #define PA_NATIVE_DEFAULT_PORT 4713
158
159 #define PA_NATIVE_COOKIE_PROPERTY_NAME "protocol-native-cookie"
160 #define PA_NATIVE_SERVER_PROPERTY_NAME "protocol-native-server"
161
162 #define PA_NATIVE_DEFAULT_UNIX_SOCKET "native"
163
164
165 PA_C_DECL_END
166
167 #endif