Adding a DOS port to run on x86 single board computer.

This commit is contained in:
skarg
2007-12-06 22:31:14 +00:00
parent af373fbbfe
commit 64e9b54dbd
23 changed files with 2838 additions and 46 deletions
+61
View File
@@ -0,0 +1,61 @@
/*
+----------------------------------------------------+
| Thunderbird Software |
+----------------------------------------------------+
| Filespec : Queue.c |
| Date : September 29, 1994 |
| Time : 10:16AM |
| Revision : 1.0 |
+----------------------------------------------------+
| Programmer: Scott Andrews |
| Address : 5358 Summit RD SW |
| City/State: Pataskala, Ohio |
| Zip : 43062 |
+----------------------------------------------------+
| Released to the Public Domain |
+----------------------------------------------------+
*/
#include <stdlib.h>
#include "queue.h"
QUEUE *alloc_queue( int size)
{ QUEUE *retval;
retval = (QUEUE *) malloc( sizeof( QUEUE) + (size_t) size);
if ( (QUEUE *) 0 != retval)
{ retval->size = size;
retval->head = 0;
retval->tail = 0;
retval->avail = size;
retval->buffer = ( (char *) retval) + sizeof( QUEUE);
}
return retval;
}
int en_queue( QUEUE *queue, char data)
{ int retval = -1;
if ( 0 != queue->avail)
{ *( queue->buffer + queue->head) = data;
queue->head += 1;
if ( queue->head == queue->size)
queue->head = 0;
queue->avail -= 1;
retval = queue->avail;
}
return retval;
}
int de_queue( QUEUE *queue)
{ int retval = -1;
if ( queue->avail != queue->size)
{ retval = *( queue->buffer + queue->tail);
queue->tail += 1;
if ( queue->tail == queue->size)
queue->tail = 0;
queue->avail += 1;
}
return retval;
}
/* End of Queue.c */