/usr/include/roaraudio/proto.h is in libroar-dev 1.0~beta11-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | //proto.h:
/*
* Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008-2014
*
* This file is part of RoarAudio,
* a cross-platform sound system for both, home and professional use.
* See README for details.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* as published by the Free Software Foundation.
*
* RoarAudio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
* NOTE: Even though this file is LGPLed it (may) include GPLed files
* so the license of this file is/may therefore downgraded to GPL.
* See HACKING for details.
*/
#ifndef _ROARAUDIO_PORTO_H_
#define _ROARAUDIO_PORTO_H_
#define ROAR_CMD_EOL -1 /* end of list */
#define ROAR_CMD_NOOP 0 /* do nothing */
#define ROAR_CMD_IDENTIFY 1 /* after connect we have to identify ourself */
#define ROAR_CMD_AUTH 2 /* send an auth cookie */
#define ROAR_CMD_NEW_STREAM 3 /* request a new stream id */
#define ROAR_CMD_SET_META 4 /* update meta data of streamed data */
#define ROAR_CMD_EXEC_STREAM 5 /* close all data channels and make the controll socket a raw data socket */
#define ROAR_CMD_QUIT 6 /* quits the connection */
#define ROAR_CMD_GET_STANDBY 7
#define ROAR_CMD_SET_STANDBY 8
#define ROAR_CMD_SERVER_INFO 9 /* Server version ... */
#define ROAR_CMD_SERVER_STATS 10 /* Server stats: number of clients, streams,.. */
#define ROAR_CMD_SERVER_OINFO 11 /* Output info, roar_audio_info sa */
#define ROAR_CMD_ADD_DATA 12 /* add some data to the input buffer */
//#define ROAR_CMD_
#define ROAR_CMD_EXIT 13 /* make the server quit */
#define ROAR_CMD_LIST_STREAMS 14 /* list all streams (not only playback streams like esd does) */
#define ROAR_CMD_LIST_CLIENTS 15 /* list all clients */
#define ROAR_CMD_GET_CLIENT 16 /* get infos about a client */
#define ROAR_CMD_GET_STREAM 17 /* get infos about a stream */
#define ROAR_CMD_KICK 18 /* kick a client, stream, sample or source */
#define ROAR_CMD_SET_VOL 19 /* change volume */
#define ROAR_CMD_GET_VOL 20 /* get volume */
#define ROAR_CMD_CON_STREAM 21 /* let the server connect to something to get data for a new stream */
#define ROAR_CMD_GET_META 22 /* get meta data of streamed data */
#define ROAR_CMD_LIST_META 23 /* get list of meta data of streamed data */
#define ROAR_CMD_BEEP 24 /* send an beep */
#define ROAR_AUTHCTL 25
#define ROAR_ACLCTL 26
#define ROAR_CMD_GET_STREAM_PARA 27 /* Get addition stream parameters like blocksizes */
#define ROAR_CMD_SET_STREAM_PARA 28 /* set special stream parameter */
#define ROAR_CMD_ATTACH 29 /* attach a OUTPUT or source */
#define ROAR_CMD_DETACH ROAR_CMD_KICK /* just to have an alias */
#define ROAR_CMD_PASSFH 30 /* send an fh via UNIX Domain Socket to the roard */
#define ROAR_CMD_GETTIMEOFDAY 31 /* get time of day from server */
#define ROAR_CMD_WHOAMI 32 /* returns the ID of the current client */
#define ROAR_CMD_DEVCTL 33 /* send control messages to devices */
#define ROAR_CMD_CAPS 34 /* send caps */
#define ROAR_CMD_WAIT 35 /* wait for an event */
#define ROAR_CMD_NOTIFY 36 /* asyncronus notify of events */
#define ROAR_CMD_SEEK 37 /* seek in stream */
#define ROAR_CMD_CLIENTCTL 38 /* like stream ctl, just for client connections */
#define ROAR_CMD_LOOKUP 39 /* lookup??? */
#define ROAR_CMD_CONCTL 40 /* change parameter for current connection */
#define ROAR_CMD_SHIFT_DATA 41 /* get some data from the stream */
// Reserved for RAUM project:
#define ROAR_CMD_RAUM_SEEKTABLE 201 /* contains a seektable */
#define ROAR_CMD_RAUM_PICTURE 202 /* contains a picture block */
#define ROAR_CMD_RAUM_SYNC 203 /* used for raw-seeking, contains a magic pattern */
// End of reserved block
#define ROAR_CMD_EPERM 252 /* error: permition denided */
#define ROAR_CMD_OK_STOP 253 /* used internaly in the serveer: */
// ROAR_CMD_OK but do not queue the client again within the block
#define ROAR_CMD_OK 254 /* return value OK */
#define ROAR_CMD_ERROR 255 /* return value ERROR */
#define ROAR_STANDBY_ACTIVE 1
#define ROAR_STANDBY_INACTIVE 0
// object types...
#define ROAR_OT_CLIENT 1
#define ROAR_OT_STREAM 2
#define ROAR_OT_SOURCE 3
#define ROAR_OT_SAMPLE 4
#define ROAR_OT_OUTPUT 5
#define ROAR_OT_MIXER 6
#define ROAR_OT_BRIDGE 7
#define ROAR_OT_LISTEN 8
#define ROAR_OT_ACTION 9
#define ROAR_OT_MSGQUEUE 10
#define ROAR_OT_MSGBUS 11
// filter:
#define ROAR_CTL_FILTER_ANY 0
#define ROAR_CTL_FILTER_DIR 1
#define ROAR_CTL_CMP_ANY ROAR_CTL_FILTER_ANY
#define ROAR_CTL_CMP_EQ 1
#define ROAR_CTL_CMP_NE 2
// auth types...
#define ROAR_AUTH_T_AUTO -1
#define ROAR_AUTH_T_NONE 0 /* do not auth */
#define ROAR_AUTH_T_COOKIE 1 /* use cookie */
#define ROAR_AUTH_T_TRUST 2 /* trust: used for UNIX Domain sockets, */
/* same uid = trusted, diffrent uid = public */
#define ROAR_AUTH_T_PASSWORD 3 /* use password */
#define ROAR_AUTH_T_SYSUSER 4 /* use local/NIS/PAM userdatabase */
#define ROAR_AUTH_T_OPENPGP_SIGN 5
#define ROAR_AUTH_T_OPENPGP_ENCRYPT 6
#define ROAR_AUTH_T_OPENPGP_AUTH 7
#define ROAR_AUTH_T_KERBEROS 8
#define ROAR_AUTH_T_RHOST 9
#define ROAR_AUTH_T_XAUTH 10
#define ROAR_AUTH_T_IDENT 11
// attach types...
#define ROAR_ATTACH_SIMPLE 1 /* move a stream from one to another client (attach the stream to it) */
#define ROAR_ATTACH_SOURCE 2 /* attach a new source to the server */
#define ROAR_ATTACH_OUTPUT 3 /* attach a new output stream to the server */
#define ROAR_ATTACH_MIXER 4 /* attach a new hwmixer stream to the server */
#define ROAR_ATTACH_BRIDGE 5 /* attach a new bridge stream to the server */
// modes for ROAR_CMD_?ET_STREAM_PARA...
#define ROAR_STREAM_PARA_INFO 1
#define ROAR_STREAM_PARA_FLAGS 2
#define ROAR_STREAM_PARA_NAME 3
#define ROAR_STREAM_PARA_CHANMAP 4
#define ROAR_STREAM_PARA_ROLE 5
#define ROAR_STREAM_PARA_HASHTABLE 6
#define ROAR_STREAM_PARA_WININFO 7
#define ROAR_STREAM_PARA_PROPTABLE 8
#define ROAR_STREAM_PARA_LTM 9
#define ROAR_STREAM_PARA_USAGE 10 /* used by RAUM */
#define ROAR_STREAM_PARA_RADIO 11 /* used by RDTCS */
#define ROAR_STREAM_PARA_RPG 12
// modes for ROAR_STREAM_PARA_RPG:
#define ROAR_RPGMODE_DEFAULT -1
#define ROAR_RPGMODE_NONE 0
#define ROAR_RPGMODE_USER 1
#define ROAR_RPGMODE_ALBUM 2
#define ROAR_RPGMODE_TRACK 3
#define ROAR_RPGMODE_ALBUMTRACK 4
#define ROAR_RPGMODE_TRACKALBUM 5
// Message flags:
#define ROAR_MF_NONE 0x00000000 /* No flags set | Versions: *ALL* */
#define ROAR_MF_SID 0x00000001 /* Stream ID | Versions: 1 */
#define ROAR_MF_SPOS 0x00000002 /* Stream Possition | Versions: 1 */
#define ROAR_MF_DL 0x00000004 /* Data Length | Versions: 1 */
#define ROAR_MF_LSID 0x00000008 /* Long Stream ID | Versions: 1 */
#define ROAR_MF_LSPOS 0x00000010 /* Long Stream Possition | Versions: 1,2 */
#define ROAR_MF_LDL 0x00000020 /* Long Data Length | Versions: 1 */
#define ROAR_MF_ED 0x00000040 /* Error Detection | Versions: 1,2 */
#define ROAR_MF_MF 0x00000080 /* Meta Framing | Versions: 1 */
#define ROAR_MF_UNIID 0x00000100 /* Stream ID is Universal ID | Versions: 2 */
#define ROAR_MF_ANNOUNCE 0x00000200 /* This is an announcement | Versions: 2 */
#define ROAR_MF_CLOUD 0x00000400 /* To cloud | Versions: 2 */
// Types for SERVER_INFO:
#define ROAR_IT_SERVER 1
#define ROAR_IT_COUNTERS 2
//#define ROAR_IT_LISTEN 3
// Types for ROAR_IT_SERVER (Information Type Server Type = ITST)
#define ROAR_ITST_VERSION 0
#define ROAR_ITST_LOCATION 1
#define ROAR_ITST_DESCRIPTION 2
#define ROAR_ITST_CONTACT 3
#define ROAR_ITST_UN_SYSNAME 4
#define ROAR_ITST_UN_NODENAME 5
#define ROAR_ITST_UN_RELEASE 6
#define ROAR_ITST_UN_MACHINE 7
#define ROAR_ITST_SERIAL 8
#define ROAR_ITST_ADDRESS 9
#define ROAR_ITST_UIURL 10
#define ROAR_ITST_HOSTID 11
#define ROAR_ITST_LICENSE 12
#define ROAR_ITST_BUILD 13
// IDs for diffrent clocks:
#define ROAR_CLOCK_DEFAULT -2
#define ROAR_CLOCK_UNKNOWN -1
#define ROAR_CLOCK_REALTIME 1
#define ROAR_CLOCK_MONOTONIC 2
#define ROAR_CLOCK_UPTIME 3
// old: do not use.
struct roar_timeofday {
int64_t t_sec; // secund part of system time
uint64_t t_nsec; // nano-secund part of system time // we use a int64 here so all types are int64...
uint64_t c_nhz; // system hi res timer freq in nHz
uint64_t d_nsps; // clock drift in nano secs per sec
};
#endif
//ll
|