File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / istgt / src / istgt_queue.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 16:42:02 2012 UTC (12 years, 5 months ago) by misho
Branches: istgt, MAIN
CVS tags: v20111008, HEAD
istgt

    1: /*
    2:  * Copyright (C) 2008-2010 Daisuke Aoyama <aoyama@peach.ne.jp>.
    3:  * All rights reserved.
    4:  *
    5:  * Redistribution and use in source and binary forms, with or without
    6:  * modification, are permitted provided that the following conditions
    7:  * are met:
    8:  * 1. Redistributions of source code must retain the above copyright
    9:  *    notice, this list of conditions and the following disclaimer.
   10:  * 2. Redistributions in binary form must reproduce the above copyright
   11:  *    notice, this list of conditions and the following disclaimer in the
   12:  *    documentation and/or other materials provided with the distribution.
   13:  *
   14:  * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17:  * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
   18:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24:  * SUCH DAMAGE.
   25:  *
   26:  */
   27: 
   28: #ifndef ISTGT_QUEUE_H
   29: #define ISTGT_QUEUE_H
   30: 
   31: #include <stddef.h>
   32: 
   33: typedef struct istgt_queue_t {
   34: 	struct istgt_queue_t *prev;
   35: 	struct istgt_queue_t *next;
   36: 	void *elem;
   37: } ISTGT_QUEUE;
   38: typedef ISTGT_QUEUE *ISTGT_QUEUE_Ptr;
   39: 
   40: int istgt_queue_init(ISTGT_QUEUE_Ptr head);
   41: void istgt_queue_destroy(ISTGT_QUEUE_Ptr head);
   42: int istgt_queue_count(ISTGT_QUEUE_Ptr head);
   43: int istgt_queue_enqueue(ISTGT_QUEUE_Ptr head, void *elem);
   44: void *istgt_queue_dequeue(ISTGT_QUEUE_Ptr head);
   45: int istgt_queue_enqueue_first(ISTGT_QUEUE_Ptr head, void *elem);
   46: 
   47: #endif /* ISTGT_QUEUE_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>