]> code.delx.au - pulseaudio/blob - src/pulsecore/native-common.h
3ab2361bcf0d5736050ac438c471ea89d54e1a95
[pulseaudio] / src / pulsecore / native-common.h
1 #ifndef foonativecommonhfoo
2 #define foonativecommonhfoo
3
4 /* $Id$ */
5
6 /***
7 This file is part of PulseAudio.
8
9 Copyright 2004-2006 Lennart Poettering
10 Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
11
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.
16
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.
21
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
25 USA.
26 ***/
27
28 #include <pulse/cdecl.h>
29 #include <pulse/def.h>
30
31 PA_C_DECL_BEGIN
32
33 enum {
34 /* Generic commands */
35 PA_COMMAND_ERROR,
36 PA_COMMAND_TIMEOUT, /* pseudo command */
37 PA_COMMAND_REPLY,
38
39 /* CLIENT->SERVER */
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,
44 PA_COMMAND_EXIT,
45 PA_COMMAND_AUTH,
46 PA_COMMAND_SET_CLIENT_NAME,
47 PA_COMMAND_LOOKUP_SINK,
48 PA_COMMAND_LOOKUP_SOURCE,
49 PA_COMMAND_DRAIN_PLAYBACK_STREAM,
50 PA_COMMAND_STAT,
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,
57
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,
73 PA_COMMAND_SUBSCRIBE,
74
75 PA_COMMAND_SET_SINK_VOLUME,
76 PA_COMMAND_SET_SINK_INPUT_VOLUME,
77 PA_COMMAND_SET_SOURCE_VOLUME,
78
79 PA_COMMAND_SET_SINK_MUTE,
80 PA_COMMAND_SET_SOURCE_MUTE,
81
82 PA_COMMAND_CORK_PLAYBACK_STREAM,
83 PA_COMMAND_FLUSH_PLAYBACK_STREAM,
84 PA_COMMAND_TRIGGER_PLAYBACK_STREAM,
85
86 PA_COMMAND_SET_DEFAULT_SINK,
87 PA_COMMAND_SET_DEFAULT_SOURCE,
88
89 PA_COMMAND_SET_PLAYBACK_STREAM_NAME,
90 PA_COMMAND_SET_RECORD_STREAM_NAME,
91
92 PA_COMMAND_KILL_CLIENT,
93 PA_COMMAND_KILL_SINK_INPUT,
94 PA_COMMAND_KILL_SOURCE_OUTPUT,
95
96 PA_COMMAND_LOAD_MODULE,
97 PA_COMMAND_UNLOAD_MODULE,
98
99 PA_COMMAND_ADD_AUTOLOAD,
100 PA_COMMAND_REMOVE_AUTOLOAD,
101 PA_COMMAND_GET_AUTOLOAD_INFO,
102 PA_COMMAND_GET_AUTOLOAD_INFO_LIST,
103
104 PA_COMMAND_GET_RECORD_LATENCY,
105 PA_COMMAND_CORK_RECORD_STREAM,
106 PA_COMMAND_FLUSH_RECORD_STREAM,
107 PA_COMMAND_PREBUF_PLAYBACK_STREAM,
108
109 /* SERVER->CLIENT */
110 PA_COMMAND_REQUEST,
111 PA_COMMAND_OVERFLOW,
112 PA_COMMAND_UNDERFLOW,
113 PA_COMMAND_PLAYBACK_STREAM_KILLED,
114 PA_COMMAND_RECORD_STREAM_KILLED,
115 PA_COMMAND_SUBSCRIBE_EVENT,
116
117 /* A few more client->server commands */
118
119 /* Supported since protocol v10 (0.9.5) */
120 PA_COMMAND_MOVE_SINK_INPUT,
121 PA_COMMAND_MOVE_SOURCE_OUTPUT,
122
123 /* Supported since protocol v11 (0.9.7) */
124 PA_COMMAND_SET_SINK_INPUT_MUTE,
125
126 PA_COMMAND_SUSPEND_SINK,
127 PA_COMMAND_SUSPEND_SOURCE,
128
129 /* Supported since protocol v13 (0.9.8) */
130 PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
131 PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR,
132
133 PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE,
134 PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE,
135
136 /* SERVER->CLIENT */
137 PA_COMMAND_PLAYBACK_STREAM_SUSPENDED,
138 PA_COMMAND_RECORD_STREAM_SUSPENDED,
139 PA_COMMAND_PLAYBACK_STREAM_MOVED,
140 PA_COMMAND_RECORD_STREAM_MOVED,
141
142 PA_COMMAND_MAX
143 };
144
145 #define PA_NATIVE_COOKIE_LENGTH 256
146 #define PA_NATIVE_COOKIE_FILE ".pulse-cookie"
147
148 #define PA_NATIVE_DEFAULT_PORT 4713
149
150 #define PA_NATIVE_COOKIE_PROPERTY_NAME "protocol-native-cookie"
151 #define PA_NATIVE_SERVER_PROPERTY_NAME "protocol-native-server"
152
153 #define PA_NATIVE_DEFAULT_UNIX_SOCKET "native"
154
155
156 PA_C_DECL_END
157
158 #endif