chiark / gitweb /
Disobedience: basic support for required/prohibited tags.
[disorder] / lib / speaker-protocol.h
index bd80e7d0249f45363d54b4a0c1eda0eeae3fd857..24fc970587d7f748e1b6aa3db3e23a9fe2b58d69 100644 (file)
@@ -25,6 +25,8 @@
 #ifndef SPEAKER_PROTOCOL_H
 #define SPEAKER_PROTOCOL_H
 
+#include "byte-order.h"
+
 /** @brief A message from the main server to the speaker, or vica versa */
 struct speaker_message {
   /** @brief Message type
@@ -41,6 +43,7 @@ struct speaker_message {
    * - @ref SM_FINISHED
    * - @ref SM_PLAYING
    * - @ref SM_UNKNOWN
+   * - @ref SM_ARRIVED
    */
   int type;
 
@@ -100,6 +103,9 @@ struct speaker_message {
 /** @brief Cancelled track @c id which wasn't playing */
 #define SM_STILLBORN 133
 
+/** @brief A connection for track @c id arrived */
+#define SM_ARRIVED 134
+
 void speaker_send(int fd, const struct speaker_message *sm);
 /* Send a message. */
 
@@ -123,13 +129,6 @@ struct stream_header {
 
   /** @brief Endianness */
   uint8_t endian;
-#define ENDIAN_BIG 1
-#define ENDIAN_LITTLE 2
-#ifdef WORDS_BIGENDIAN
-# define ENDIAN_NATIVE ENDIAN_BIG
-#else
-# define ENDIAN_NATIVE ENDIAN_LITTLE
-#endif
 } attribute((packed));
 
 static inline int formats_equal(const struct stream_header *a,