Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 77b2555b52a894a2e39a42e43d993df875c46a6a 83 lines 2.6 kB view raw
1/* 2 * Copyright (c) 2005 Topspin Communications. All rights reserved. 3 * Copyright (c) 2005 Intel Corporation. All rights reserved. 4 * 5 * This software is available to you under a choice of one of two 6 * licenses. You may choose to be licensed under the terms of the GNU 7 * General Public License (GPL) Version 2, available from the file 8 * COPYING in the main directory of this source tree, or the 9 * OpenIB.org BSD license below: 10 * 11 * Redistribution and use in source and binary forms, with or 12 * without modification, are permitted provided that the following 13 * conditions are met: 14 * 15 * - Redistributions of source code must retain the above 16 * copyright notice, this list of conditions and the following 17 * disclaimer. 18 * 19 * - Redistributions in binary form must reproduce the above 20 * copyright notice, this list of conditions and the following 21 * disclaimer in the documentation and/or other materials 22 * provided with the distribution. 23 * 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 28 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 29 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 * SOFTWARE. 32 * 33 * $Id: ucm.h 2208 2005-04-22 23:24:31Z libor $ 34 */ 35 36#ifndef UCM_H 37#define UCM_H 38 39#include <linux/fs.h> 40#include <linux/device.h> 41#include <linux/cdev.h> 42#include <linux/idr.h> 43 44#include <rdma/ib_cm.h> 45#include <rdma/ib_user_cm.h> 46 47struct ib_ucm_file { 48 struct semaphore mutex; 49 struct file *filp; 50 51 struct list_head ctxs; /* list of active connections */ 52 struct list_head events; /* list of pending events */ 53 wait_queue_head_t poll_wait; 54}; 55 56struct ib_ucm_context { 57 int id; 58 wait_queue_head_t wait; 59 atomic_t ref; 60 int events_reported; 61 62 struct ib_ucm_file *file; 63 struct ib_cm_id *cm_id; 64 __u64 uid; 65 66 struct list_head events; /* list of pending events. */ 67 struct list_head file_list; /* member in file ctx list */ 68}; 69 70struct ib_ucm_event { 71 struct ib_ucm_context *ctx; 72 struct list_head file_list; /* member in file event list */ 73 struct list_head ctx_list; /* member in ctx event list */ 74 75 struct ib_cm_id *cm_id; 76 struct ib_ucm_event_resp resp; 77 void *data; 78 void *info; 79 int data_len; 80 int info_len; 81}; 82 83#endif /* UCM_H */