#($Revision$) !SECTION: Commands +DEVCTL = 33 +:version (uint8) +:type (uint8) +:vendor (uint8) +VENDOR_ROARAUDIO = 0 +VENDOR_BASICDEV = 1 +:subtype (uint8) +:flags (uint8) +:ot (uint8) +:(id) (uint16) #(if not UNIID or SID) +:data... (vardata) +CAPS = 34 +:version (uint8) +:type (uint8) +:flags (uint16) +CT_CAPS = 0 +::data... (dataarray) +:::captype (TODO) +:::... (TODO) +CT_STANDARDS = 1 +::data... (dataarray) +:::stdvendor (uint8) +STDV_ROARAUDIO = 0 +STDV_PROTO = 1 +STDV_RFC = 2 +:::stdversion (uint8) +:::standard (uint16) +WAIT = 35 +:version (TODO) +:flags (TODO) :(TODO) +NOTIFY = 36 +=structof(WAIT) +SEEK = 37 +:version (TODO) +:flags (TODO) +:destination possition (TODO) +:destination possition whence (TODO) +:hint pos (TODO) +:hint whence (TODO) +:hint quality (TODO) +:seek at (TODO) +:seek to (TODO) +:seek whence (TODO) +SF_CONT_WHILE_SEEK = 0x01 +SF_CONT_ON_ERROR = 0x02 +SF_HINT = 0x04 +SF_SEEK = 0x08 +HQ_BAD = 0 +HQ_BAD_NB = 1 #(bad, not before this possition) +HQ_NEAR = 2 +HQ_NEAR_NB = 3 #(Near, not before this possition) +HQ_GOOD = 4 +HQ_GOOD_NB = 5 #(good, not before this possition) +HQ_EXACT = HQ_EXACT_NB #(ID 6 is skiped here) +HQ_EXACT_NB = 7 +WHENCE_BEGIN = 0 +WHENCE_CUR = 1 +WHENCE_END = 2 +CLIENTCTL = 38 +:version (uint8) +:subcmd (uint8) +:flags (uint16) +:data (vardata) +CC_HASHTABLE = PARA_HASHTABLE +CC_WININFO = PARA_WININFO +CC_PROPTABLE = PARA_PROPTABLE +LOOKUP = 39 +:version (uint8) +:flags (uint8) +:extflags (uint8) +:ot (uint8) +:ht (uint32) #(hash type) +:hash... (vardata) +CONCTL = 40 +:version (uint8) +:flags (uint8) +:session (uint8) +:type (uint8) +:stdvendor (uint8) +:stdversion (uint8) +:standard (uint16) +CCT_NONE = 0 #(This is the same like a NOOP-Command) +CCT_CRYPTMSG = 1 #(This request contains zero or more crypto packages according to given standard) +CCT_OPENSESS = 2 #(This opens a crypto session) +:hash (uint32) +:comp (uint16) +COMPT_NONE = 0 +COMPT_ZLIB = 1 +COMPT_GZIP = 2 +COMPT_BZIP2 = 3 +:complevel (uint8) +:compflags (uint8) +:data... (dataarray) +CCT_CLOSESESS = 3 #(This closes a opend cryto session) +:hashlen (uint16) +:hash (dataarray(:hashlen)) +:data... (dataarray) +CCT_SESSDATA = 4 #(This is some kind of data used in the session) +:data... (dataarray) *SERVER_INFO +IT_SERVER = 1 +:version (uint8) +:reserved (uint8) +:indexlen (uint16) +::reserved (uint8) +::type (uint8) +ITST_VERSION = NEEDS_CONST #(Format: Product/Version (comments)) #(Example: roard/0.4 <0/RoarAudio> (Debian build)) +ITST_LOCATION = NEEDS_CONST #(freeform) +ITST_DESCRIPTION = NEEDS_CONST #(freeform) +ITST_CONTACT = NEEDS_CONST #(Format: first ["']nick["'] last (comment) /OpenPGPkey/Phone/Room) +ITST_UN_SYSNAME = NEEDS_CONST #(uname -s) +ITST_UN_NODENAME = NEEDS_CONST #(uname -n) +ITST_UN_RELEASE = NEEDS_CONST #(uname -r) +ITST_UN_MACHINE = NEEDS_CONST #(uname -m) +ITST_SERIAL = NEEDS_CONST +ITST_ADDRESS = NEEDS_CONST +ITST_UIURL = NEEDS_CONST +::len (uint16) +:strings (dataarray) +IT_COUNTERS = 2 +:version (uint8) +:reserved (uint24) +:data... (dataarray) +::type (uint8) +::flags (uint8) +::reserved (uint16) +::counter (uint32) +CF_CURRENT = 0x01 #(Current value if set, sum if unset) +CF_OTTYPE = 0x02 #(Type is a OT_* type if set, or other if unset) +IT_LISTEN = 3 +:version (uint8) +:reserved (uint24) +:listensocks... (dataarray) +::id (uint16) +::flags (uint8) +::socktype (uint8) +::proto (uint16) +::byteorder (uint16) +::dir (uint32) +::auinfo (packed-audioinfo) #(4*4*8 = 128bit) +::addrlen (uint16) +::addr (padded-string(:addrlen)) +LF_HAVEDIR = 0x01 +LF_HAVEAI = 0x02 *[GS]ET_STREAM_PARA *PARA_INFO +STREAMSTATE_ERROR = 5 #(Stream is in some error condition, parent client should close or kick it) +STREAMSTATE_NEEDSEEK = 6 #(like Error but stream can become usable again if you do a seek) +PARA_HASHTABLE = 6 #(GTN, UUID, ...) +:htsettertype (uint32) +:htsettersize (uint16) +:htsetterdata (vardata) +:hashtable... (dataarray) +::httype (uint32) +::htsize (uint16) +::htfunction (uint16) +::htdata (vardata) +HT_NONE = 0 +HT_MD5 = 1 +HT_SHA1 = 2 +HT_RIPEMD160 = 3 +HT_MD2 = 5 +HT_TIGER = 6 +HT_HAVAL = 7 +HT_SHA256 = 8 +HT_SHA384 = 9 +HT_SHA512 = 10 +HT_SHA224 = 11 +HT_MD4 = 301 +HT_CRC32 = 302 #(ISO 3309, ITU-T V.42, IEEE 802.3) +HT_RFC1510 = 303 #(HT_CRC32 as modified by RFC 1510) +HT_RFC2440 = 304 #(poly=0x1864CFBL, init=0xB704CEL, OpenPGP) +HT_WHIRLPOOL = 305 +HT_UUID = 70000 #(GTN is the Global Track Number as used by for example the RoarAudio PlayList Daemon (rpld)) #(It is a creator-runtime-unique number to identify the object.) +HT_GTN8 = 70001 +HT_GTN16 = 70002 +HT_GTN32 = 70004 #("Short Global Track Number") +HT_GTN64 = 70008 #("Long Global Track Number") +HT_CLIENTID = 71000 + OT_CLIENT = 71001 +HT_STREAMID = 71000 + OT_STREAM = 71002 +HT_SOURCEID = 71000 + OT_SOURCE = 71003 +HT_SAMPLEID = 71000 + OT_SAMPLE = 71004 +HT_MIXERID = 71000 + OT_MIXER = 71005 +HT_BRIDGEID = 71000 + OT_BRIDGE = 71006 +HT_LISTENID = 71000 + OT_LISTEN = 71007 +HT_ACTIONID = 71000 + OT_ACTION = 71008 +HT_MSGQUEUEID = 71000 + OT_MSGQUEUE = 71009 +HT_MSGBUSID = 71000 + OT_MSGBUS = 71010 #(Next are article and book numers. They may be ued with HF_DISK and HF_WORK) +HT_GTIN8 = 72001 +HT_GTIN13 = 72002 +HT_ISBN10 = 72003 +HT_ISBN13 = HT_GTIN13 #(ISBN-13 and GTIN/EAN-13 are the same) +HF_NONE = 0 #(This entry does not have anything to do with the object...) +HF_OBJECT = 1 #(This is an entry for exacltly this object) +HF_PARENT = 2 #(This is the parent object) +HF_LOGIC = 3 #(This is a logic group of this object) +HF_PERMANENT = 4 #(This can be used to acces exactly this object with a premanent address) +HF_DEVICE = 5 #(The device this is on or the device itself if this is a device) +HF_DISK = 6 #(The disk this is on, if this is a disk the same as HF_DEVICE) +HF_SONG = 7 #(This identifys the Song. This may for example be used with Tantalos) +HF_APP = 8 #(The application, device or other source generating this object) +HF_FILE = 9 #(The source file for this object) +HT_ARTIST = 10 #(This identifies any kind of artist/composer/interpret, to be used with Tantalos) +HT_WORK = 11 #(This identifies any kind of work/album/compilation, to be used with Tantalos) +PARA_WININFO = 7 +:wsystype (uint8) +:socktype (uint8) +:display (uint8) +:screen (uint8) +:addrlen (uint16) +:addr (padded-string(:addrlen)) +:wins (dataarray) +::window (uint32) +PARA_PROPTABLE = 8 :(TODO) +PARA_LTM = 9 *KICK,... +OT_OUTPUT = 5 +OT_MIXER = 6 +OT_BRIDGE = 7 +OT_LISTEN = 8 +OT_ACTION = 9 +OT_MSGQUEUE = 10 #(Message queue, message is gone as soon as one client took it) +OT_MSGBUS = 11 #(Message bus, message is gone as soon as all listening clients got it) *ATTACH *ATTACH_SOURCE :(TODO) *ATTACH_OUTPUT :(TODO) +ATTACH_MIXER = 4 :(TODO) +ATTACH_BRIDGE = 5 :(TODO) *SET_VOL +SET_VOL_MS = 3 +SET_VOL_UNMAPED = 4 #(like roarctls mono/stereo...) !SECTIONEND !SECTION: Codecs +AUTLAW = NEEDS_CONST +MUUTLAW = NEEDS_CONST !SECTIONEND