source: roaraudio/include/roaraudio/proto.h @ 704:25764dfdef62

Last change on this file since 704:25764dfdef62 was 704:25764dfdef62, checked in by phi, 16 years ago

added COPYING.lgplv3

File size: 4.1 KB
Line 
1//porto.h:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008
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, 675 Mass Ave, Cambridge, MA 02139, USA.
22 *
23 *  NOTE: Even though this file is LGPLed it (may) include GPLed files
24 *  so the license of this file is/may therefore downgraded to GPL.
25 *  See HACKING for details.
26 */
27
28#ifndef _ROARAUDIO_PORTO_H_
29#define _ROARAUDIO_PORTO_H_
30
31#define ROAR_CMD_EOL           -1 /* end of list */
32#define ROAR_CMD_NOOP           0 /* do nothing */
33#define ROAR_CMD_IDENTIFY       1 /* after connect we have to identify ourself */
34#define ROAR_CMD_AUTH           2 /* send an auth cookie */
35#define ROAR_CMD_NEW_STREAM     3 /* request a new stream id */
36#define ROAR_CMD_SET_META       4 /* update meta data of streamed data */
37#define ROAR_CMD_EXEC_STREAM    5 /* close all data channels and make the controll socket a raw data socket */
38#define ROAR_CMD_QUIT           6 /* quits the connection */
39
40#define ROAR_CMD_GET_STANDBY    7
41#define ROAR_CMD_SET_STANDBY    8
42
43#define ROAR_CMD_SERVER_INFO    9 /* Server version ... */
44#define ROAR_CMD_SERVER_STATS  10 /* Server stats: number of clients, streams,.. */
45#define ROAR_CMD_SERVER_OINFO  11 /* Output info, roar_audio_info sa */
46
47#define ROAR_CMD_ADD_DATA      12 /* add some data to the input buffer */
48
49//#define ROAR_CMD_
50
51#define ROAR_CMD_EXIT          13 /* make the server quit */
52#define ROAR_CMD_LIST_STREAMS  14 /* list all streams (not only playback streams like esd does) */
53#define ROAR_CMD_LIST_CLIENTS  15 /* list all clients */
54
55#define ROAR_CMD_GET_CLIENT    16 /* get infos about a client */
56#define ROAR_CMD_GET_STREAM    17 /* get infos about a stream */
57
58#define ROAR_CMD_KICK          18 /* kick a client, stream, sample or source */
59
60#define ROAR_CMD_SET_VOL       19 /* change volume */
61#define ROAR_CMD_GET_VOL       20 /* get volume */
62
63#define ROAR_CMD_CON_STREAM    21 /* let the server connect to something to get data for a new stream */
64
65#define ROAR_CMD_GET_META      22 /* get meta data of streamed data */
66#define ROAR_CMD_LIST_META     23 /* get list of meta data of streamed data */
67
68#define ROAR_CMD_BEEP          24 /* send an beep */
69
70#define ROAR_GET_ACL           25 /* get ACL, may have subtypes */
71#define ROAR_SET_ACL           26 /* set ACL, may have subtypes */
72
73#define ROAR_CMD_GET_STREAM_PARA   27 /* Get addition stream parameters like blocksizes */
74#define ROAR_CMD_SET_STREAM_PARA   28 /* set specal stream parameter */
75
76#define ROAR_CMD_ATTACH        29 /* attach a OUTPUT or source */
77#define ROAR_CMD_DETACH        ROAR_CMD_KICK /* just to have an alias */
78
79#define ROAR_CMD_EPERM        252 /* error: permition denided */
80#define ROAR_CMD_OK_STOP      253 /* used internaly in the serveer: */
81                                  // ROAR_CMD_OK but do not queue the client again within the block
82#define ROAR_CMD_OK           254 /* return value OK */
83#define ROAR_CMD_ERROR        255 /* return value ERROR */
84
85
86#define ROAR_STANDBY_ACTIVE     1
87#define ROAR_STANDBY_INACTIVE   0
88
89// object types...
90#define ROAR_OT_CLIENT 1
91#define ROAR_OT_STREAM 2
92#define ROAR_OT_SOURCE 3
93#define ROAR_OT_SAMPLE 4
94
95// auth types...
96#define ROAR_AUTH_NONE    0 /* do not auth */
97#define ROAR_AUTH_TRUST   1 /* trust: used for UNIX Domain sockets, same uid = trusted, diffrent uid = public */
98#define ROAR_AUTH_COOKIE  2 /* use cookie */
99#define ROAR_AUTH_SYSUSER 3 /* use local/NIS/PAM userdatabase */
100#define ROAR_AUTH_PASSWD  4 /* use password */
101
102#endif
103
104//ll
Note: See TracBrowser for help on using the repository browser.