This request returns a Zones Data data structure. Use this response to determine what zones are defined and their playbacks, join groups, and active presets.




The following variable-length structure is returned by this request:

typedef struct ZonesData {
    uint16_t            signature;              // Signature = 'CS'
    int16_t             version;                // Version = 0x0001 (or negative error code)
    uint8_t             reserved[2];            // -
    uint16_t            zoneCount;              // Number of zones
    ZoneRecord          zones[];                // Variable array of zone records
} ZonesData;

#define STACK_NAME_BUF_SIZE     16

typedef struct ZoneRecord {
    char                name[STACK_NAME_BUF_SIZE];  // Name of zone
    uint8_t             playbackIndex;          // Playback index
    uint8_t             joinGroup;              // Join group
    uint16_t            count;                  // Number of PresetID/Status pairs
    uint32_t            data[];                 // Array of PresetID/Status pairs (32 pairs max)
} ZoneRecord;

The PresetID/Status pairs are included for any preset in the zone that is active. The PresetID denotes the preset number and the Status value indicates the preset’s active state. The following table shows preset states:

Preset Status Description
1 This preset is active.
2 This preset is modified.


If an error occurs during the processing of the request, only the first four bytes of the above structure will be returned by this URL. The first two bytes will have the “CS” signature and the next two bytes will contain an error value as described by the following table:

Error Value Description
-1 An internal shared memory error occurred.