linux/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_lib-linux.h
<<
>>
Prefs
   1/*
   2 * GPL HEADER START
   3 *
   4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 only,
   8 * as published by the Free Software Foundation.
   9 *
  10 * This program is distributed in the hope that it will be useful, but
  11 * WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13 * General Public License version 2 for more details (a copy is included
  14 * in the LICENSE file that accompanied this code).
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * version 2 along with this program; If not, see
  18 * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
  19 *
  20 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  21 * CA 95054 USA or visit www.sun.com if you need additional information or
  22 * have any questions.
  23 *
  24 * GPL HEADER END
  25 */
  26/*
  27 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  28 * Use is subject to license terms.
  29 *
  30 * Copyright (c) 2012, Intel Corporation.
  31 */
  32/*
  33 * This file is part of Lustre, http://www.lustre.org/
  34 * Lustre is a trademark of Sun Microsystems, Inc.
  35 */
  36
  37#define DEBUG_PORTAL_ALLOC
  38
  39#ifndef __LINUX_SOCKNAL_LIB_H__
  40#define __LINUX_SOCKNAL_LIB_H__
  41
  42#include <linux/module.h>
  43#include <linux/kernel.h>
  44#include <linux/version.h>
  45#include <linux/mm.h>
  46#include <linux/string.h>
  47#include <linux/stat.h>
  48#include <linux/errno.h>
  49#include <linux/unistd.h>
  50#include <net/sock.h>
  51#include <net/tcp.h>
  52#include <linux/uio.h>
  53#include <linux/if.h>
  54
  55#include <asm/uaccess.h>
  56#include <asm/irq.h>
  57
  58#include <linux/init.h>
  59#include <linux/fs.h>
  60#include <linux/file.h>
  61#include <linux/stat.h>
  62#include <linux/list.h>
  63#include <linux/kmod.h>
  64#include <linux/sysctl.h>
  65#include <asm/uaccess.h>
  66#include <asm/div64.h>
  67#include <linux/syscalls.h>
  68
  69#include <linux/libcfs/libcfs.h>
  70#include <linux/libcfs/linux/portals_compat25.h>
  71
  72#include <linux/crc32.h>
  73static inline __u32 ksocknal_csum(__u32 crc, unsigned char const *p, size_t len)
  74{
  75#if 1
  76        return crc32_le(crc, p, len);
  77#else
  78        while (len-- > 0)
  79                crc = ((crc + 0x100) & ~0xff) | ((crc + *p++) & 0xff) ;
  80        return crc;
  81#endif
  82}
  83
  84#define SOCKNAL_WSPACE(sk)       sk_stream_wspace(sk)
  85#define SOCKNAL_MIN_WSPACE(sk)   sk_stream_min_wspace(sk)
  86
  87/* assume one thread for each connection type */
  88#define SOCKNAL_NSCHEDS         3
  89#define SOCKNAL_NSCHEDS_HIGH    (SOCKNAL_NSCHEDS << 1)
  90
  91#endif
  92