blob: 672ebe2d89e6ddd3fa292196241bb9ac41a7ea51 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -07003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22#if !defined( __I_VOS_LIST_H )
23#define __I_VOS_LIST_H
24
25/**=========================================================================
26
27 \file i_vos_list.h
28
29 \brief Linux-specific definitions for vOSS lists
30
31 Copyright 2008 (c) Qualcomm, Incorporated. All Rights Reserved.
32
33 Qualcomm Confidential and Proprietary.
34
35 ========================================================================*/
36
37/* $Header$ */
38
39/*--------------------------------------------------------------------------
40 Include Files
41 ------------------------------------------------------------------------*/
42#include <vos_types.h>
43#include <vos_status.h>
44#include <vos_packet.h>
45#include <linux/list.h>
46#include <linux/mutex.h>
47#include <linux/kernel.h>
48
49/*--------------------------------------------------------------------------
50 Preprocessor definitions and constants
51 ------------------------------------------------------------------------*/
52
53#ifdef __cplusplus
54extern "C" {
55#endif /* __cplusplus */
56/*--------------------------------------------------------------------------
57 Type declarations
58 ------------------------------------------------------------------------*/
59typedef struct vos_linux_list_s
60{
61 struct list_head anchor;
62 v_SIZE_t count;
63 struct mutex lock;
64 v_U32_t cookie;
65} vos_list_t;
66
67typedef struct list_head vos_list_node_t;
68
69
70#ifdef __cplusplus
71}
72#endif /* __cplusplus */
73
74#endif // __I_VOS_LIST_H