3 * Copyright 2007 Free Software Foundation, Inc.
5 * This file is part of GNU Radio
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 #ifndef INCLUDED_SPU_GC_JD_QUEUE_H
23 #define INCLUDED_SPU_GC_JD_QUEUE_H
25 #include "gc_jd_queue_data.h"
28 * Declarations for SPU side of job queue interface
34 * \brief Remove and return item at head of queue.
36 * \param[in] q is EA address of queue structure.
37 * \param[out] item_ea is EA address of item at head of queue.
38 * \param[in] jd_tag is the tag to use to get the LS copy of the item.
39 * \param[out] item is local store copy of item at head of queue.
40 * \returns false if the queue is empty, otherwise returns true
41 * and sets \p item_ea and DMA's job descriptor into \p item
43 * If return is false, we're holding a lock-line reservation that
47 gc_jd_queue_dequeue(gc_eaddr_t q, gc_eaddr_t *item_ea,
48 int jd_tag, gc_job_desc_t *item);
53 #endif /* INCLUDED_SPU_GC_JD_QUEUE_H */