diff options
| author | Zheng Da <zhengda1936@gmail.com> | 2010-07-31 09:44:51 +0200 |
|---|---|---|
| committer | Zheng Da <zhengda1936@gmail.com> | 2010-07-31 09:44:51 +0200 |
| commit | 4be0911c78f17c5e7ba227dd99fdcbc54c676b5b (patch) | |
| tree | 4d45a3eede0847c095aa88163a8c99f1373314db /eth-multiplexer/queue.c | |
| parent | 4f7cf90e6c8446f28c621bc9134438e41403e297 (diff) | |
move queue.c from eth-multiplexer to libbpf.
Diffstat (limited to 'eth-multiplexer/queue.c')
| -rw-r--r-- | eth-multiplexer/queue.c | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/eth-multiplexer/queue.c b/eth-multiplexer/queue.c deleted file mode 100644 index a43a21b0..00000000 --- a/eth-multiplexer/queue.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * Routines to implement queue package. - */ - -#include "queue.h" - - - -/* - * Insert element at head of queue. - */ -void enqueue_head( - register queue_t que, - register queue_entry_t elt) -{ - elt->next = que->next; - elt->prev = que; - elt->next->prev = elt; - que->next = elt; -} - -/* - * Insert element at tail of queue. - */ -void enqueue_tail( - register queue_t que, - register queue_entry_t elt) -{ - elt->next = que; - elt->prev = que->prev; - elt->prev->next = elt; - que->prev = elt; -} - -/* - * Remove and return element at head of queue. - */ -queue_entry_t dequeue_head( - register queue_t que) -{ - register queue_entry_t elt; - - if (que->next == que) - return((queue_entry_t)0); - - elt = que->next; - elt->next->prev = que; - que->next = elt->next; - return(elt); -} - -/* - * Remove and return element at tail of queue. - */ -queue_entry_t dequeue_tail( - register queue_t que) -{ - register queue_entry_t elt; - - if (que->prev == que) - return((queue_entry_t)0); - - elt = que->prev; - elt->prev->next = que; - que->prev = elt->prev; - return(elt); -} - -/* - * Remove arbitrary element from queue. - * Does not check whether element is on queue - the world - * will go haywire if it isn't. - */ - -/*ARGSUSED*/ -void remqueue( - queue_t que, - register queue_entry_t elt) -{ - elt->next->prev = elt->prev; - elt->prev->next = elt->next; -} - -/* - * Routines to directly imitate the VAX hardware queue - * package. - */ -void insque( - register struct queue_entry *entry, - register struct queue_entry *pred) -{ - entry->next = pred->next; - entry->prev = pred; - (pred->next)->prev = entry; - pred->next = entry; -} - -struct queue_entry -*remque( - register struct queue_entry *elt) -{ - (elt->next)->prev = elt->prev; - (elt->prev)->next = elt->next; - return(elt); -} - |
