aroarfw
proto.h
Go to the documentation of this file.
1 //proto.h:
2 
3 /*
4  * Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2010-2013
5  *
6  * This file is part of aroarfw, a RoarAudio framework for
7  * embedded systems (µControlers).
8  *
9  * This file is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 3
11  * or (at your option) any later version as published by
12  * the Free Software Foundation.
13  *
14  * aroarfw is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this software; see the file COPYING. If not, write to
21  * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
22  * Boston, MA 02110-1301, USA.
23  */
24 
25 #ifndef _AROARFW_PROTO_H_
26 #define _AROARFW_PROTO_H_
27 
29 typedef enum {
30 // grep ^'#define MUROAR_CMD_' muroar.h | sed 's/ */ /g; s/^#define MUROAR_/R/;' | while read c i d; do printf " //! XXX\n %-24s = %3i,\n" $c $i; done
32  RCMD_NOOP = 0,
36  RCMD_AUTH = 2,
44  RCMD_QUIT = 6,
58  RCMD_EXIT = 13,
68  RCMD_KICK = 18,
80  RCMD_BEEP = 24,
104  RCMD_CAPS = 34,
106  RCMD_WAIT = 35,
110  RCMD_SEEK = 37,
120  RCMD_OK = 254,
123 } rcmd_t;
124 
126 typedef enum {
131 } rterm_t;
132 
134 typedef enum {
143 } rvolch_t;
144 
146 typedef enum {
157 } rflagch_t;
158 
160 typedef enum {
180 } rstreamstat_t;
181 
182 
184 typedef enum {
197 // RDIR_INTERNAL = 7, // unused, undefined.
203  RDIR_THRU = 10,
230 } rdir_t;
231 
233 typedef enum {
262 } rrole_t;
263 
265 typedef enum {
270 } rstandby_t;
271 
272 
274 typedef enum {
297 } rot_t;
298 
300 typedef enum {
311 } rattach_t;
312 
314 typedef enum {
337 } rstreampata_t;
338 
340 typedef enum {
355 } rrpgmode_t;
356 
358 typedef enum {
391 } rauth_t;
392 
394 typedef enum {
447 } rproto_t;
448 
450 typedef enum {
452  RCT_CAPS = 0,
455 } rcaps_t;
456 
458 typedef enum {
460  RHQ_BAD = 0,
464  RHQ_NEAR = 2,
470  RHQ_GOOD = 4,
479 } rhq_t;
480 
482 typedef enum {
491 } rwhence_t;
492 
494 typedef enum {
501 } rit_t;
502 
504 typedef enum {
541 } ritst_t;
542 
543 #endif
544 
545 //ll
Standby is inactive.
Definition: proto.h:267
MIDI input stream.
Definition: proto.h:207
HTTP.
Definition: proto.h:404
RoarAudio Playlist Daemon Protocol.
Definition: proto.h:444
Simple Attach: Attach stream to a diffrent client.
Definition: proto.h:302
Waveform Playback stream.
Definition: proto.h:186
rhq_t
Hint Quality values for SEEK command.
Definition: proto.h:458
rrpgmode_t
Modes as used with RSTREAMPARA_RPG.
Definition: proto.h:340
Event sounds?
Definition: proto.h:245
Waveform (and maybe other) stream attached to a driver.
Definition: proto.h:194
Pass an open file handle to the server.
Definition: proto.h:96
Add data to the stream's input buffer.
Definition: proto.h:56
Information about listen sockets (this may be removed again in later versions of protocol specs) ...
Definition: proto.h:500
Waveform recoard stream.
Definition: proto.h:188
SSH.
Definition: proto.h:438
Waveform monitoring stream.
Definition: proto.h:190
Bad hint, requested position is not before this point.
Definition: proto.h:462
rwhence_t
Whence for SEEK command.
Definition: proto.h:482
Telnet.
Definition: proto.h:434
Discard.
Definition: proto.h:422
Freeform serial of device.
Definition: proto.h:524
Use RPG information as provided by the client (set via RSTREAMPARA_RPG)
Definition: proto.h:346
Source Attach: Attach stream to a source driver.
Definition: proto.h:304
The stream does not exist.
Definition: proto.h:164
Voice connections (RoN, VoIP, ISDN,...)
Definition: proto.h:249
Requested position is near this point.
Definition: proto.h:464
Get Notified about events.
Definition: proto.h:108
Control Client Parameters.
Definition: proto.h:112
Finger protocol.
Definition: proto.h:426
rot_t
RoarAudio object types.
Definition: proto.h:274
Nullsoft ICY protocol.
Definition: proto.h:408
Clients.
Definition: proto.h:276
Set volume unmapped to current stream.
Definition: proto.h:142
Old EsounD protocol.
Definition: proto.h:400
Unknown role.
Definition: proto.h:235
Terminate the server.
Definition: proto.h:58
rstandby_t
Possible standby modes.
Definition: proto.h:265
Get or set channel mapping.
Definition: proto.h:322
Change the volume of a stream.
Definition: proto.h:70
rattach_t
Types of attaches for the RCMD_ATTACH command.
Definition: proto.h:300
Get Access Control List informations (deprecated, do not use!)
Definition: proto.h:82
Protect a flag from being changed.
Definition: proto.h:156
Light Control input stream.
Definition: proto.h:211
Use a OpenPGP based method using a auth key. (recommented)
Definition: proto.h:382
Read some stream data from the server.
Definition: proto.h:118
No protocol given, unused entry, use default.
Definition: proto.h:396
Set all channels at once.
Definition: proto.h:136
Get or set stream role.
Definition: proto.h:324
Use Kerveros.
Definition: proto.h:384
Counters.
Definition: proto.h:498
Mixer core.
Definition: proto.h:196
RPlay protocol.
Definition: proto.h:414
rflagch_t
Parameter for stream flag operation.
Definition: proto.h:146
Opering System name, like uname -s.
Definition: proto.h:516
Record and Play at the same time.
Definition: proto.h:227
Control Access Control List informations.
Definition: proto.h:88
Sound from a video.
Definition: proto.h:241
Meta data stream, obsolete.
Definition: proto.h:199
List of Standards.
Definition: proto.h:454
Thru stream, this stream type sends raw copys of data passing thru a stream.
Definition: proto.h:203
Use Album RPG information.
Definition: proto.h:348
Use Ident service.
Definition: proto.h:390
ritst_t
Information types for Server Type (ITST) for SERVER_INFO command.
Definition: proto.h:504
Reset flag.
Definition: proto.h:150
Already mixed data (for example outout of another sound daemon)
Definition: proto.h:261
Output Attach: Attach stream to a output driver.
Definition: proto.h:306
Rhythem instrument.
Definition: proto.h:257
rstreamstat_t
States a stream can have.
Definition: proto.h:160
Dynamic Host Configuration Protocol.
Definition: proto.h:436
MIDI output stream.
Definition: proto.h:209
Terminate the client connection.
Definition: proto.h:44
Bridges between diffrent subsystems within a server.
Definition: proto.h:288
Get or set radio transmitter or receiver parameters.
Definition: proto.h:334
Asks the server for some stats.
Definition: proto.h:52
Request the server to exit but wait for clients to exit.
Definition: proto.h:130
Use Track RPG information.
Definition: proto.h:350
Outputs of some kind, normally using some kind of (audio) driver.
Definition: proto.h:284
Connect a stream to IO resource (to a socket)
Definition: proto.h:74
Requested position is near this point but not before this point.
Definition: proto.h:466
Music Player Daemon Protocol.
Definition: proto.h:446
List clients.
Definition: proto.h:62
Sound generted by a game (see also RROLE_BACKGROUND_MUSIC)
Definition: proto.h:243
No role assigned.
Definition: proto.h:237
Use Album RPG information, if not available use Track RPG information.
Definition: proto.h:352
Look up objects.
Definition: proto.h:114
Bad hint.
Definition: proto.h:460
The RoarAudio protocol.
Definition: proto.h:398
Hint is of good quality (very close to position) and requested position is not before this point...
Definition: proto.h:472
Get a client object.
Definition: proto.h:64
Device Control.
Definition: proto.h:102
Asks the server for our client ID.
Definition: proto.h:100
rvolch_t
Parameter for type of volume change.
Definition: proto.h:134
Complex data input stream.
Definition: proto.h:219
This is exackt possition (alias).
Definition: proto.h:478
Bridge between subsystems or two objects in the same subsystem.
Definition: proto.h:205
Sources.
Definition: proto.h:280
Notify beep sounds.
Definition: proto.h:247
Set flag.
Definition: proto.h:148
Attach a stream to some resource (client, driver, ...)
Definition: proto.h:94
Asks server for general information.
Definition: proto.h:50
The stream is initing (is creating)
Definition: proto.h:168
Set only one channel.
Definition: proto.h:138
Negative (error) return value for request.
Definition: proto.h:122
Send a user supplyed password. The user should get asked for the password.
Definition: proto.h:373
Background music.
Definition: proto.h:251
Set meta data on a stream.
Definition: proto.h:40
Auth our client on the server.
Definition: proto.h:36
Point is relative to end of stream.
Definition: proto.h:490
rproto_t
Protocol IDs.
Definition: proto.h:394
rrole_t
Roles a stream can have.
Definition: proto.h:233
List streams.
Definition: proto.h:60
rdir_t
Type for stream directions.
Definition: proto.h:184
Do not use RPG information.
Definition: proto.h:344
Standby is active.
Definition: proto.h:269
Complex data output stream.
Definition: proto.h:221
General instrument.
Definition: proto.h:255
Waveform bidirectional stream (this is PLAY and MONITOR in one stream)
Definition: proto.h:201
Get or set stream name.
Definition: proto.h:320
rauth_t
Auth methodes for the RCMD_AUTH command.
Definition: proto.h:358
Freeform Location of server.
Definition: proto.h:509
Asks the server for information on outputs.
Definition: proto.h:54
Get or set stream's HashTable.
Definition: proto.h:326
No Operation Commands.
Definition: proto.h:32
Quote.
Definition: proto.h:428
rstreampata_t
Sub-Commands for the RCMD_?ET_STREAM_PARA commands.
Definition: proto.h:314
Use Track RPG information, if not available use Album RPG information.
Definition: proto.h:354
Actions.
Definition: proto.h:292
Message queues.
Definition: proto.h:294
List meta data of a stream.
Definition: proto.h:78
Auto select protocol.
Definition: proto.h:402
General information about the server like implementation name and version.
Definition: proto.h:496
Set stream parameters.
Definition: proto.h:92
Stream is in error condition.
Definition: proto.h:177
The state of stream is unknown.
Definition: proto.h:162
Get or set RePlay Gain settings of the stream.
Definition: proto.h:336
One more than the maximum direction ID.
Definition: proto.h:229
Operate on stream flags.
Definition: proto.h:318
Use xauth cookie.
Definition: proto.h:388
Get volume information of a stream.
Definition: proto.h:72
Opering System host type, like uname -m.
Definition: proto.h:522
Daytime protocol.
Definition: proto.h:430
Gopher.
Definition: proto.h:406
Get standby state from from server.
Definition: proto.h:46
Internet Relay Chat (IRC)
Definition: proto.h:416
Identify our client to the server.
Definition: proto.h:34
Set volume in a Mid/Side way (Volume/Balance)
Definition: proto.h:140
Request the server to exit without waiting for clients to exit.
Definition: proto.h:128
Get or set stream's hints for windowing systems.
Definition: proto.h:328
Protocol ID used by games.
Definition: proto.h:432
Opering System node name, like uname -n.
Definition: proto.h:518
Opering System release, like uname -r.
Definition: proto.h:520
Ask the server to change it's standby state.
Definition: proto.h:48
Radio Data and Transmitter Control System input stream.
Definition: proto.h:223
rcaps_t
Subtypes for CAPS command.
Definition: proto.h:450
Streams.
Definition: proto.h:278
The stream object is unused.
Definition: proto.h:166
Get stream parameters.
Definition: proto.h:90
Control parameters for AUTH command.
Definition: proto.h:86
Exec a stream.
Definition: proto.h:42
Ask for info structure.
Definition: proto.h:316
Get current system clock time of server.
Definition: proto.h:98
Seek within a stream.
Definition: proto.h:110
Waveform filter stream.
Definition: proto.h:192
RLogin.
Definition: proto.h:442
Raw data input stream.
Definition: proto.h:215
Echo.
Definition: proto.h:420
Auth based on client's host or node name or address.
Definition: proto.h:386
Get or set stream's Long Term Monitoring (LTM) parameters.
Definition: proto.h:332
rterm_t
Parameter for server termination (RCMD_EXIT)
Definition: proto.h:126
Positive return value for request.
Definition: proto.h:120
Query or Tell capabilitys.
Definition: proto.h:104
rit_t
Information types for SERVER_INFO command.
Definition: proto.h:494
Radio Data and Transmitter Control System output stream.
Definition: proto.h:225
Normal music.
Definition: proto.h:239
Mixer Attach: Attaches a mixer device.
Definition: proto.h:308
Get meta data of a stream.
Definition: proto.h:76
Mixer streams. May be hardware mixer devices or software mixers.
Definition: proto.h:286
RSound protocol.
Definition: proto.h:412
Noop.
Definition: proto.h:154
Create a new stream.
Definition: proto.h:38
The stream is new. This means the stream have not been used yet.
Definition: proto.h:170
The stream is old, This means it was arrady used for data.
Definition: proto.h:172
Voice stream (singer, speaker, ....)
Definition: proto.h:253
Toggle a given flag.
Definition: proto.h:152
Whois protocol.
Definition: proto.h:424
Time.
Definition: proto.h:440
Raw data output stream.
Definition: proto.h:217
Get a stream object.
Definition: proto.h:66
Bridge Attach: Attches a bridge between diffrent subsystems.
Definition: proto.h:310
Send a binary-save cookie. This is normaly stored in a cookie file.
Definition: proto.h:367
Control Connection parameters.
Definition: proto.h:116
Kick (terminate) a object from the server.
Definition: proto.h:68
Use default RPG Mode. In this case the mode is selected by the server.
Definition: proto.h:342
like RSTREAMSTATE_ERROR but can be reset using SEEK command
Definition: proto.h:179
Asks the server to generate a notify sound (beep)
Definition: proto.h:80
Click track.
Definition: proto.h:259
Light Control output stream.
Definition: proto.h:213
Freform description of server.
Definition: proto.h:511
Listen sockets.
Definition: proto.h:290
Use a OpenPGP based method using a signing key. (not recommented!)
Definition: proto.h:378
Message busses.
Definition: proto.h:296
Set Access Control List informations (deprecated, do not use!)
Definition: proto.h:84
Samples.
Definition: proto.h:282
Use a OpenPGP based method using a encryption key.
Definition: proto.h:380
rcmd_t
Command values used for rmsg*_t.
Definition: proto.h:29
Get or set stream's PropTable.
Definition: proto.h:330
???
Definition: proto.h:452
PulseAudio Simple protocol.
Definition: proto.h:410
Wait for events.
Definition: proto.h:106
Direct Client-to-Client (DCC)
Definition: proto.h:418