queue.c

来自「pixil 最新的嵌入linux 應用程序集,別的地方很難下載」· C语言 代码 · 共 91 行

C
91
字号
/*                                                                        * Copyright (c) 2003 Century Software, Inc.   All Rights Reserved.      *                                                                        * This file is part of the PIXIL Operating Environment                  *                                                                        * The use, copying and distribution of this file is governed by one     * of two licenses, the PIXIL Commercial License, or the GNU General     * Public License, version 2.                                            *                                                                        * Licensees holding a valid PIXIL Commercial License may use this file  * in accordance with the PIXIL Commercial License Agreement provided    * with the Software. Others are governed under the terms of the GNU    * General Public License version 2.                                     *                                                                        * This file may be distributed and/or modified under the terms of the   * GNU General Public License version 2 as published by the Free         * Software Foundation and appearing in the file LICENSE.GPL included    * in the packaging of this file.                                       *                                                                        * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING   * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A             * PARTICULAR PURPOSE.                                                   *                                                                        * RESTRICTED RIGHTS LEGEND                                              *                                                                      * Use, duplication, or disclosure by the government is subject to       * restriction as set forth in paragraph (b)(3)(b) of the Rights in      * Technical Data and Computer Software clause in DAR 7-104.9(a).        *                                                                       * See http://www.pixil.org/gpl/ for GPL licensing        * information.                                                          *                                                                       * See http://www.pixil.org/license.html or               * email cetsales@centurysoftware.com for information about the PIXIL    * Commercial License Agreement, or if any conditions of this licensing  * are not clear to you.                                                 */#include <stdlib.h>#include <ipc/colosseum.h>#include "server.h"intqueue_add_packet(cl_app_struct * app, cl_pkt_buff * pkt){    /* If the queue is full, then bail */    if (app->cl_queue.head == app->cl_queue.tail)	return (-1);    app->cl_queue.ring[app->cl_queue.head] = pkt;    app->cl_queue.head = (app->cl_queue.head + 1) % app->cl_queue.size;    return (0);}cl_pkt_buff *queue_get_packet(cl_app_struct * app){    int next = (app->cl_queue.tail + 1) % app->cl_queue.size;    if (next == app->cl_queue.head)	return (0);    app->cl_queue.tail = next;    return (app->cl_queue.ring[next]);}cl_pkt_buff *queue_peek_packet(cl_app_struct * app){    int next = (app->cl_queue.tail + 1) % app->cl_queue.size;    if (next == app->cl_queue.head)	return (0);    return (app->cl_queue.ring[next]);}intdata_in_queue(cl_app_struct * app){    int next = (app->cl_queue.tail + 1) % app->cl_queue.size;    if (next == app->cl_queue.head)	return (0);    else	return (1);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?