Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
uverbs_main.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/fs.h>
#include <linux/poll.h>
#include <linux/sched.h>
#include <linux/file.h>
#include <linux/cdev.h>
#include <linux/anon_inodes.h>
#include <linux/slab.h>
#include <asm/uaccess.h>
#include "uverbs.h"

Go to the source code of this file.

Macros

#define IB_UVERBS_BASE_DEV   MKDEV(IB_UVERBS_MAJOR, IB_UVERBS_BASE_MINOR)
 

Enumerations

enum  { IB_UVERBS_MAJOR = 231, IB_UVERBS_BASE_MINOR = 192, IB_UVERBS_MAX_DEVICES = 32 }
 

Functions

 MODULE_AUTHOR ("Roland Dreier")
 
 MODULE_DESCRIPTION ("InfiniBand userspace verbs access")
 
 MODULE_LICENSE ("Dual BSD/GPL")
 
 DEFINE_SPINLOCK (ib_uverbs_idr_lock)
 
 DEFINE_IDR (ib_uverbs_pd_idr)
 
 DEFINE_IDR (ib_uverbs_mr_idr)
 
 DEFINE_IDR (ib_uverbs_mw_idr)
 
 DEFINE_IDR (ib_uverbs_ah_idr)
 
 DEFINE_IDR (ib_uverbs_cq_idr)
 
 DEFINE_IDR (ib_uverbs_qp_idr)
 
 DEFINE_IDR (ib_uverbs_srq_idr)
 
 DEFINE_IDR (ib_uverbs_xrcd_idr)
 
void ib_uverbs_release_ucq (struct ib_uverbs_file *file, struct ib_uverbs_event_file *ev_file, struct ib_ucq_object *uobj)
 
void ib_uverbs_release_uevent (struct ib_uverbs_file *file, struct ib_uevent_object *uobj)
 
void ib_uverbs_comp_handler (struct ib_cq *cq, void *cq_context)
 
void ib_uverbs_cq_event_handler (struct ib_event *event, void *context_ptr)
 
void ib_uverbs_qp_event_handler (struct ib_event *event, void *context_ptr)
 
void ib_uverbs_srq_event_handler (struct ib_event *event, void *context_ptr)
 
void ib_uverbs_event_handler (struct ib_event_handler *handler, struct ib_event *event)
 
struct fileib_uverbs_alloc_event_file (struct ib_uverbs_file *uverbs_file, int is_async)
 
struct ib_uverbs_event_fileib_uverbs_lookup_comp_file (int fd)
 
 module_init (ib_uverbs_init)
 
 module_exit (ib_uverbs_cleanup)
 

Macro Definition Documentation

#define IB_UVERBS_BASE_DEV   MKDEV(IB_UVERBS_MAJOR, IB_UVERBS_BASE_MINOR)

Definition at line 63 of file uverbs_main.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
IB_UVERBS_MAJOR 
IB_UVERBS_BASE_MINOR 
IB_UVERBS_MAX_DEVICES 

Definition at line 57 of file uverbs_main.c.

Function Documentation

DEFINE_IDR ( ib_uverbs_pd_idr  )
DEFINE_IDR ( ib_uverbs_mr_idr  )
DEFINE_IDR ( ib_uverbs_mw_idr  )
DEFINE_IDR ( ib_uverbs_ah_idr  )
DEFINE_IDR ( ib_uverbs_cq_idr  )
DEFINE_IDR ( ib_uverbs_qp_idr  )
DEFINE_IDR ( ib_uverbs_srq_idr  )
DEFINE_IDR ( ib_uverbs_xrcd_idr  )
DEFINE_SPINLOCK ( ib_uverbs_idr_lock  )
struct file* ib_uverbs_alloc_event_file ( struct ib_uverbs_file uverbs_file,
int  is_async 
)
read

Definition at line 509 of file uverbs_main.c.

void ib_uverbs_comp_handler ( struct ib_cq cq,
void cq_context 
)

Definition at line 397 of file uverbs_main.c.

void ib_uverbs_cq_event_handler ( struct ib_event event,
void context_ptr 
)

Definition at line 465 of file uverbs_main.c.

void ib_uverbs_event_handler ( struct ib_event_handler handler,
struct ib_event event 
)

Definition at line 499 of file uverbs_main.c.

struct ib_uverbs_event_file* ib_uverbs_lookup_comp_file ( int  fd)
read

Definition at line 541 of file uverbs_main.c.

void ib_uverbs_qp_event_handler ( struct ib_event event,
void context_ptr 
)

Definition at line 475 of file uverbs_main.c.

void ib_uverbs_release_ucq ( struct ib_uverbs_file file,
struct ib_uverbs_event_file ev_file,
struct ib_ucq_object uobj 
)

Definition at line 136 of file uverbs_main.c.

void ib_uverbs_release_uevent ( struct ib_uverbs_file file,
struct ib_uevent_object uobj 
)

Definition at line 161 of file uverbs_main.c.

void ib_uverbs_srq_event_handler ( struct ib_event event,
void context_ptr 
)

Definition at line 487 of file uverbs_main.c.

MODULE_AUTHOR ( "Roland Dreier"  )
MODULE_DESCRIPTION ( "InfiniBand userspace verbs access )
module_exit ( ib_uverbs_cleanup  )
module_init ( ib_uverbs_init  )
MODULE_LICENSE ( "Dual BSD/GPL"  )