1 | //client.h: |
---|
2 | |
---|
3 | /* |
---|
4 | * Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008-2015 |
---|
5 | * |
---|
6 | * This file is part of RoarAudio, |
---|
7 | * a cross-platform sound system for both, home and professional use. |
---|
8 | * See README for details. |
---|
9 | * |
---|
10 | * This file is free software; you can redistribute it and/or modify |
---|
11 | * it under the terms of the GNU Lesser General Public License version 3 |
---|
12 | * as published by the Free Software Foundation. |
---|
13 | * |
---|
14 | * RoarAudio 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 Lesser General Public License for more details. |
---|
18 | * |
---|
19 | * You should have received a copy of the GNU Lesser 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 | * NOTE: Even though this file is LGPLed it (may) include GPLed files |
---|
25 | * so the license of this file is/may therefore downgraded to GPL. |
---|
26 | * See HACKING for details. |
---|
27 | */ |
---|
28 | |
---|
29 | #ifndef _ROARAUDIO_CLIENT_H_ |
---|
30 | #define _ROARAUDIO_CLIENT_H_ |
---|
31 | |
---|
32 | #define ROAR_BUFFER_NAME 80 |
---|
33 | |
---|
34 | #define ROAR_CLIENTS_MAX 64 |
---|
35 | #define ROAR_CLIENTS_MAX_STREAMS_PER_CLIENT 12 |
---|
36 | |
---|
37 | #define ROAR_PROTO_NONE 0 |
---|
38 | #define ROAR_PROTO_ROARAUDIO 1 |
---|
39 | #define ROAR_PROTO_ESOUND 2 |
---|
40 | #define ROAR_PROTO_AUTO 3 /* auto detect */ |
---|
41 | #define ROAR_PROTO_HTTP 4 |
---|
42 | #define ROAR_PROTO_GOPHER 5 |
---|
43 | #define ROAR_PROTO_ICY 7 /* Nullsoft ICY */ |
---|
44 | #define ROAR_PROTO_SIMPLE 8 /* PulseAudio Simple */ |
---|
45 | #define ROAR_PROTO_RSOUND 9 |
---|
46 | #define ROAR_PROTO_RPLAY 10 |
---|
47 | #define ROAR_PROTO_IRC 11 /* ID just for fun */ |
---|
48 | #define ROAR_PROTO_DCC 12 |
---|
49 | #define ROAR_PROTO_ECHO 13 /* for testing and stuff */ |
---|
50 | #define ROAR_PROTO_DISCARD 14 /* RFC 863 */ |
---|
51 | #define ROAR_PROTO_WHOIS 15 |
---|
52 | #define ROAR_PROTO_FINGER 16 |
---|
53 | #define ROAR_PROTO_QUOTE 17 /* RFC 865: Quote of the Day Protocol */ |
---|
54 | #define ROAR_PROTO_DAYTIME 18 |
---|
55 | #define ROAR_PROTO_GAME 19 /* a game, may be any game */ |
---|
56 | #define ROAR_PROTO_TELNET 20 |
---|
57 | #define ROAR_PROTO_DHCP 21 |
---|
58 | #define ROAR_PROTO_SSH 22 |
---|
59 | #define ROAR_PROTO_TIME 23 /* Time protocol, RFC 868 */ |
---|
60 | #define ROAR_PROTO_RLOGIN 24 |
---|
61 | #define ROAR_PROTO_RPLD 25 /* RoarAudio Playlist Daemon Protocol */ |
---|
62 | #define ROAR_PROTO_MPD 26 /* Music Player Daemon */ |
---|
63 | #define ROAR_PROTO_RTP 27 /* Real-time Transport Protocol */ |
---|
64 | #define ROAR_PROTO_RTCP 28 /* RealTime Control Protocol */ |
---|
65 | #define ROAR_PROTO_RTSP 29 /* Real-Time Streaming Protocol */ |
---|
66 | #define ROAR_PROTO_SIP 30 /* Session Initiation Protocol */ |
---|
67 | |
---|
68 | /* Dynamic defined protocols. |
---|
69 | * Those IDs MUST NOT be used on wire, stored on disk or |
---|
70 | * leave the process any other way. |
---|
71 | */ |
---|
72 | #define ROAR_PROTO_DYNAMIC0 208 |
---|
73 | #define ROAR_PROTO_DYNAMIC1 209 |
---|
74 | #define ROAR_PROTO_DYNAMIC2 210 |
---|
75 | #define ROAR_PROTO_DYNAMIC3 211 |
---|
76 | #define ROAR_PROTO_DYNAMIC4 212 |
---|
77 | #define ROAR_PROTO_DYNAMIC5 213 |
---|
78 | #define ROAR_PROTO_DYNAMIC6 214 |
---|
79 | #define ROAR_PROTO_DYNAMIC7 215 |
---|
80 | #define ROAR_PROTO_DYNAMIC8 216 |
---|
81 | #define ROAR_PROTO_DYNAMIC9 217 |
---|
82 | #define ROAR_PROTO_DYNAMIC10 218 |
---|
83 | #define ROAR_PROTO_DYNAMIC11 219 |
---|
84 | #define ROAR_PROTO_DYNAMIC12 220 |
---|
85 | #define ROAR_PROTO_DYNAMIC13 221 |
---|
86 | #define ROAR_PROTO_DYNAMIC14 222 |
---|
87 | #define ROAR_PROTO_DYNAMIC15 223 |
---|
88 | |
---|
89 | /* User defined protocols. |
---|
90 | * IDs may be used on wire or stored on disk if meaning of them |
---|
91 | * was agreed on before. This could e.g. be done using the CAPS command. |
---|
92 | */ |
---|
93 | #define ROAR_PROTO_USER0 224 |
---|
94 | #define ROAR_PROTO_USER1 225 |
---|
95 | #define ROAR_PROTO_USER2 226 |
---|
96 | #define ROAR_PROTO_USER3 227 |
---|
97 | #define ROAR_PROTO_USER4 228 |
---|
98 | #define ROAR_PROTO_USER5 229 |
---|
99 | #define ROAR_PROTO_USER6 230 |
---|
100 | #define ROAR_PROTO_USER7 231 |
---|
101 | #define ROAR_PROTO_USER8 232 |
---|
102 | #define ROAR_PROTO_USER9 233 |
---|
103 | #define ROAR_PROTO_USER10 234 |
---|
104 | #define ROAR_PROTO_USER11 235 |
---|
105 | #define ROAR_PROTO_USER12 236 |
---|
106 | #define ROAR_PROTO_USER13 237 |
---|
107 | #define ROAR_PROTO_USER14 238 |
---|
108 | #define ROAR_PROTO_USER15 239 |
---|
109 | |
---|
110 | |
---|
111 | #define ROAR_BYTEORDER_UNKNOWN 0x00 |
---|
112 | #define ROAR_BYTEORDER_LE ROAR_CODEC_LE |
---|
113 | #define ROAR_BYTEORDER_BE ROAR_CODEC_BE |
---|
114 | #define ROAR_BYTEORDER_PDP ROAR_CODEC_PDP |
---|
115 | #define ROAR_BYTEORDER_NETWORK ROAR_BYTEORDER_BE |
---|
116 | |
---|
117 | #if BYTE_ORDER == BIG_ENDIAN |
---|
118 | #define ROAR_BYTEORDER_NATIVE ROAR_CODEC_BE |
---|
119 | #elif BYTE_ORDER == LITTLE_ENDIAN |
---|
120 | #define ROAR_BYTEORDER_NATIVE ROAR_CODEC_LE |
---|
121 | #else |
---|
122 | #define ROAR_BYTEORDER_NATIVE ROAR_CODEC_PDP |
---|
123 | #endif |
---|
124 | |
---|
125 | #define ROAR_CLIENTPASS_FLAG_NONE 0x0000 |
---|
126 | #define ROAR_CLIENTPASS_FLAG_LISTEN 0x0001 |
---|
127 | |
---|
128 | #endif |
---|
129 | |
---|
130 | //ll |
---|