Fork of Smoothie to port to mbed non-LPC targets.
Fork of Smoothie by
libs/Network/uip/fifo.cpp@2:1df0b61d3b5a, 2014-02-28 (annotated)
- Committer:
- Michael J. Spencer
- Date:
- Fri Feb 28 18:52:52 2014 -0800
- Revision:
- 2:1df0b61d3b5a
Update to latest Smoothie.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Michael J. Spencer |
2:1df0b61d3b5a | 1 | // c accessibllity to the c++ fifo class |
Michael J. Spencer |
2:1df0b61d3b5a | 2 | #include "fifo.h" |
Michael J. Spencer |
2:1df0b61d3b5a | 3 | #include "c-fifo.h" |
Michael J. Spencer |
2:1df0b61d3b5a | 4 | |
Michael J. Spencer |
2:1df0b61d3b5a | 5 | void *new_fifo() |
Michael J. Spencer |
2:1df0b61d3b5a | 6 | { |
Michael J. Spencer |
2:1df0b61d3b5a | 7 | return new Fifo<char*>; |
Michael J. Spencer |
2:1df0b61d3b5a | 8 | } |
Michael J. Spencer |
2:1df0b61d3b5a | 9 | |
Michael J. Spencer |
2:1df0b61d3b5a | 10 | void delete_fifo(void *fifo) |
Michael J. Spencer |
2:1df0b61d3b5a | 11 | { |
Michael J. Spencer |
2:1df0b61d3b5a | 12 | if(fifo == NULL) return; |
Michael J. Spencer |
2:1df0b61d3b5a | 13 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); |
Michael J. Spencer |
2:1df0b61d3b5a | 14 | while(f->size() > 0) { |
Michael J. Spencer |
2:1df0b61d3b5a | 15 | char *s= f->pop(); |
Michael J. Spencer |
2:1df0b61d3b5a | 16 | if (s != NULL) { |
Michael J. Spencer |
2:1df0b61d3b5a | 17 | free(s); |
Michael J. Spencer |
2:1df0b61d3b5a | 18 | } |
Michael J. Spencer |
2:1df0b61d3b5a | 19 | } |
Michael J. Spencer |
2:1df0b61d3b5a | 20 | delete f; |
Michael J. Spencer |
2:1df0b61d3b5a | 21 | } |
Michael J. Spencer |
2:1df0b61d3b5a | 22 | |
Michael J. Spencer |
2:1df0b61d3b5a | 23 | char *fifo_pop(void *fifo) |
Michael J. Spencer |
2:1df0b61d3b5a | 24 | { |
Michael J. Spencer |
2:1df0b61d3b5a | 25 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); |
Michael J. Spencer |
2:1df0b61d3b5a | 26 | return f->pop(); |
Michael J. Spencer |
2:1df0b61d3b5a | 27 | } |
Michael J. Spencer |
2:1df0b61d3b5a | 28 | |
Michael J. Spencer |
2:1df0b61d3b5a | 29 | void fifo_push(void *fifo, char *str) |
Michael J. Spencer |
2:1df0b61d3b5a | 30 | { |
Michael J. Spencer |
2:1df0b61d3b5a | 31 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); |
Michael J. Spencer |
2:1df0b61d3b5a | 32 | f->push(str); |
Michael J. Spencer |
2:1df0b61d3b5a | 33 | } |
Michael J. Spencer |
2:1df0b61d3b5a | 34 | |
Michael J. Spencer |
2:1df0b61d3b5a | 35 | int fifo_size(void *fifo) |
Michael J. Spencer |
2:1df0b61d3b5a | 36 | { |
Michael J. Spencer |
2:1df0b61d3b5a | 37 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); |
Michael J. Spencer |
2:1df0b61d3b5a | 38 | return f->size(); |
Michael J. Spencer |
2:1df0b61d3b5a | 39 | } |