linux/drivers/staging/rtl8712/osdep_service.h
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or modify it
   6 * under the terms of version 2 of the GNU General Public License as
   7 * published by the Free Software Foundation.
   8 *
   9 * This program is distributed in the hope that it will be useful, but WITHOUT
  10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12 * more details.
  13 *
  14 * You should have received a copy of the GNU General Public License along with
  15 * this program; if not, write to the Free Software Foundation, Inc.,
  16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  17 *
  18 * Modifications for inclusion into the Linux staging tree are
  19 * Copyright(c) 2010 Larry Finger. All rights reserved.
  20 *
  21 * Contact information:
  22 * WLAN FAE <wlanfae@realtek.com>
  23 * Larry Finger <Larry.Finger@lwfinger.net>
  24 *
  25 ******************************************************************************/
  26#ifndef __OSDEP_SERVICE_H_
  27#define __OSDEP_SERVICE_H_
  28
  29#define _SUCCESS        1
  30#define _FAIL           0
  31
  32#include <linux/spinlock.h>
  33
  34#include <linux/interrupt.h>
  35#include <linux/semaphore.h>
  36#include <linux/sched/signal.h>
  37#include <linux/sem.h>
  38#include <linux/netdevice.h>
  39#include <linux/etherdevice.h>
  40#include <net/iw_handler.h>
  41#include <linux/proc_fs.h>      /* Necessary because we use the proc fs */
  42
  43#include "basic_types.h"
  44
  45struct  __queue {
  46        struct  list_head       queue;
  47        spinlock_t lock;
  48};
  49
  50#define _pkt struct sk_buff
  51#define _buffer unsigned char
  52#define thread_exit() complete_and_exit(NULL, 0)
  53
  54#define _init_queue(pqueue)                             \
  55        do {                                            \
  56                INIT_LIST_HEAD(&((pqueue)->queue));     \
  57                spin_lock_init(&((pqueue)->lock));      \
  58        } while (0)
  59
  60static inline u32 end_of_queue_search(struct list_head *head,
  61                struct list_head *plist)
  62{
  63        return (head == plist);
  64}
  65
  66static inline void flush_signals_thread(void)
  67{
  68        if (signal_pending(current))
  69                flush_signals(current);
  70}
  71
  72#endif
  73
  74