Git init
[framework/multimedia/pulseaudio.git] / 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     PA_COMMAND_MAX
173 };
174
175 #define PA_NATIVE_COOKIE_LENGTH 256
176 #define PA_NATIVE_COOKIE_FILE ".pulse-cookie"
177
178 #define PA_NATIVE_DEFAULT_PORT 4713
179
180 #define PA_NATIVE_COOKIE_PROPERTY_NAME "protocol-native-cookie"
181 #define PA_NATIVE_SERVER_PROPERTY_NAME "protocol-native-server"
182
183 #define PA_NATIVE_DEFAULT_UNIX_SOCKET "native"
184
185 PA_C_DECL_END
186
187 #endif