#pragma once // libDaisy = 0x80410501 - 0x804105ff // Error codes enum { CELL_DAISY_ERROR_NO_BEGIN = 0x80410501, CELL_DAISY_ERROR_INVALID_PORT_ATTACH = 0x80410502, CELL_DAISY_ERROR_NOT_IMPLEMENTED = 0x80410503, CELL_DAISY_ERROR_AGAIN = 0x80410511, CELL_DAISY_ERROR_INVAL = 0x80410512, CELL_DAISY_ERROR_PERM = 0x80410509, CELL_DAISY_ERROR_BUSY = 0x8041051A, CELL_DAISY_ERROR_STAT = 0x8041050F, }; // Return codes enum { QUEUE_IS_BUSY = 2, TERMINATED = 3, GLUE_ACTIVE = 4, }; // Assertations enum { CELL_DAISY_MIN_QUEUE_SIZE = 1, CELL_DAISY_MAX_LOCAL_QUEUE_SIZE = 32, CELL_DAISY_MAX_ATO_QUEUE_SIZE = 32, CELL_DAISY_MAX_SNR_QUEUE_SIZE = 12, CELL_DAISY_MIN_ENTRY_SIZE = 16, CELL_DAISY_MAX_ENTRY_SIZE = (16*1024), CELL_DAISY_MAX_DMA_TAG = 31, // CELL_DAISY_ENTRY_SIZE(x) // CELL_DAISY_EA_ATOMIC(x) // CELL_DAISY_EA_DMA(x) }; // Definitions // The following are prefixed with DAISY_ to prevent name conflits enum { // Queue IO DAISY_OUTPUT, DAISY_INPUT, // Block Mode DAISY_NOT_STALL = 0, DAISY_STALL = 1, // Queue Status DAISY_PTR_UNAVAILABLE = 0x40000001, DAISY_PTR_TERMINATED = 0x40000002, // Buffer Mode DAISY_COPY = 0, DAISY_REFERENCE = 1, // Constructor Mode DAISY_NO_PARAMETER = 0, DAISY_PARAMETER = 1, // Glue Mode DAISY_ONE_PORT = 1, DAISY_TWO_PORT = 2, // Queue Mode DAISY_IN_ORDER, DAISY_OUT_OF_ORDER, // Buffer Type DAISY_BUFFER_TYPE_REMOTE = 1, DAISY_BUFFER_TYPE_LOCAL = 2, // Queue Control Type DAISY_QCTL_TYPE_ATOMIC = 1, DAISY_QCTL_TYPE_LOCAL = 2, DAISY_QCTL_TYPE_SIGNAL_NOTIFICATION = 3, };