source: roaraudio/include/roaraudio/client.h @ 6055:7fe8f4a9cd25

Last change on this file since 6055:7fe8f4a9cd25 was 6055:7fe8f4a9cd25, checked in by phi, 9 years ago

Added protocol IDs for user defined protocols.
Closes: #264

File size: 4.1 KB
Line 
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/* User defined protocols.
69 * IDs may be used on wire or stored on disk if meaning of them
70 * was agreed on before. This could e.g. be done using the CAPS command.
71 */
72#define ROAR_PROTO_USER0          224
73#define ROAR_PROTO_USER1          225
74#define ROAR_PROTO_USER2          226
75#define ROAR_PROTO_USER3          227
76#define ROAR_PROTO_USER4          228
77#define ROAR_PROTO_USER5          229
78#define ROAR_PROTO_USER6          230
79#define ROAR_PROTO_USER7          231
80#define ROAR_PROTO_USER8          232
81#define ROAR_PROTO_USER9          233
82#define ROAR_PROTO_USER10         234
83#define ROAR_PROTO_USER11         235
84#define ROAR_PROTO_USER12         236
85#define ROAR_PROTO_USER13         237
86#define ROAR_PROTO_USER14         238
87#define ROAR_PROTO_USER15         239
88
89
90#define ROAR_BYTEORDER_UNKNOWN      0x00
91#define ROAR_BYTEORDER_LE           ROAR_CODEC_LE
92#define ROAR_BYTEORDER_BE           ROAR_CODEC_BE
93#define ROAR_BYTEORDER_PDP          ROAR_CODEC_PDP
94#define ROAR_BYTEORDER_NETWORK      ROAR_BYTEORDER_BE
95
96#if BYTE_ORDER == BIG_ENDIAN
97#define ROAR_BYTEORDER_NATIVE       ROAR_CODEC_BE
98#elif BYTE_ORDER == LITTLE_ENDIAN
99#define ROAR_BYTEORDER_NATIVE       ROAR_CODEC_LE
100#else
101#define ROAR_BYTEORDER_NATIVE       ROAR_CODEC_PDP
102#endif
103
104#define ROAR_CLIENTPASS_FLAG_NONE    0x0000
105#define ROAR_CLIENTPASS_FLAG_LISTEN  0x0001
106
107#endif
108
109//ll
Note: See TracBrowser for help on using the repository browser.