00001 /* main.c<2> --- 00002 * 00003 * Filename: main.c<2> 00004 * Description: 00005 * Author: Bryce Himebaugh 00006 * Maintainer: 00007 * Created: Mon Oct 16 15:12:40 2006 00008 * Version: 00009 * Last-Updated: 00010 * By: 00011 * Update #: 0 00012 * Keywords: 00013 * Compatibility: 00014 * 00015 */ 00016 00017 /* Commentary: 00018 * 00019 * 00020 * 00021 */ 00022 00023 /* Change log: 00024 * 00025 * 00026 */ 00027 00028 /* This program is free software; you can redistribute it and/or modify 00029 * it under the terms of the GNU General Public License as published by 00030 * the Free Software Foundation; either version 2, or (at your option) 00031 * any later version. 00032 * 00033 * This program is distributed in the hope that it will be useful, 00034 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00035 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00036 * GNU General Public License for more details. 00037 * 00038 * You should have received a copy of the GNU General Public License 00039 * along with this program; see the file COPYING. If not, write to the 00040 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00041 * Boston, MA 02111-1307, USA. 00042 */ 00043 00044 /* Code: */ 00045 #include "queue.h" 00046 00047 void init_queue(queue_t *buf) { 00048 buf->head=0; 00049 buf->tail=0; 00050 } 00051 00052 int enqueue (queue_t *buf, char data) { 00053 int return_val=0; 00054 if ((((buf->head)+1)&0x7F)!=buf->tail) { 00055 buf->buffer[buf->head]=data; 00056 buf->head=((buf->head)+1)&0x7f; 00057 return_val=1; 00058 } 00059 else { 00060 return_val=0; 00061 } 00062 return (return_val); 00063 } 00064 00065 char dequeue (queue_t *buf) { 00066 char return_val=0; 00067 if (buf->tail!=buf->head) { 00068 return_val=buf->buffer[buf->tail]; 00069 buf->tail=((buf->tail)+1)&0x7f; 00070 } 00071 return(return_val); 00072 } 00073 00074 /* main.c<2> ends here */
1.3.9.1