Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
eventpoll.c File Reference
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/file.h>
#include <linux/signal.h>
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/poll.h>
#include <linux/string.h>
#include <linux/list.h>
#include <linux/hash.h>
#include <linux/spinlock.h>
#include <linux/syscalls.h>
#include <linux/rbtree.h>
#include <linux/wait.h>
#include <linux/eventpoll.h>
#include <linux/mount.h>
#include <linux/bitops.h>
#include <linux/mutex.h>
#include <linux/anon_inodes.h>
#include <linux/device.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/mman.h>
#include <linux/atomic.h>

Go to the source code of this file.

Data Structures

struct  epoll_filefd
 
struct  nested_call_node
 
struct  nested_calls
 
struct  epitem
 
struct  eventpoll
 
struct  eppoll_entry
 
struct  ep_pqueue
 
struct  ep_send_events_data
 

Macros

#define EP_PRIVATE_BITS   (EPOLLWAKEUP | EPOLLONESHOT | EPOLLET)
 
#define EP_MAX_NESTS   4
 
#define EP_MAX_EVENTS   (INT_MAX / sizeof(struct epoll_event))
 
#define EP_UNACTIVE_PTR   ((void *) -1L)
 
#define EP_ITEM_COST   (sizeof(struct epitem) + sizeof(struct eppoll_entry))
 
#define PATH_ARR_SIZE   5
 

Functions

void eventpoll_release_file (struct file *file)
 
 SYSCALL_DEFINE1 (epoll_create1, int, flags)
 
 SYSCALL_DEFINE1 (epoll_create, int, size)
 
 SYSCALL_DEFINE4 (epoll_ctl, int, epfd, int, op, int, fd, struct epoll_event __user *, event)
 
 SYSCALL_DEFINE4 (epoll_wait, int, epfd, struct epoll_event __user *, events, int, maxevents, int, timeout)
 
 SYSCALL_DEFINE6 (epoll_pwait, int, epfd, struct epoll_event __user *, events, int, maxevents, int, timeout, const sigset_t __user *, sigmask, size_t, sigsetsize)
 
 fs_initcall (eventpoll_init)
 

Detailed Description

ep_loop_check - Performs a check to verify that adding an epoll file ( another epoll file (represented by ) does not create closed loops or too deep chains.

: Pointer to the epoll private data structure.

Definition in file eventpoll.c.

Macro Definition Documentation

#define EP_ITEM_COST   (sizeof(struct epitem) + sizeof(struct eppoll_entry))

Definition at line 100 of file eventpoll.c.

#define EP_MAX_EVENTS   (INT_MAX / sizeof(struct epoll_event))

Definition at line 96 of file eventpoll.c.

#define EP_MAX_NESTS   4

Definition at line 94 of file eventpoll.c.

#define EP_PRIVATE_BITS   (EPOLLWAKEUP | EPOLLONESHOT | EPOLLET)

Definition at line 91 of file eventpoll.c.

#define EP_UNACTIVE_PTR   ((void *) -1L)

Definition at line 98 of file eventpoll.c.

#define PATH_ARR_SIZE   5

Definition at line 1025 of file eventpoll.c.

Function Documentation

void eventpoll_release_file ( struct file file)

Definition at line 798 of file eventpoll.c.

fs_initcall ( eventpoll_init  )
SYSCALL_DEFINE1 ( epoll_create1  ,
int  ,
flags   
)

Definition at line 1625 of file eventpoll.c.

SYSCALL_DEFINE1 ( epoll_create  ,
int  ,
size   
)

Definition at line 1668 of file eventpoll.c.

SYSCALL_DEFINE4 ( epoll_ctl  ,
int  ,
epfd  ,
int  ,
op  ,
int  ,
fd  ,
struct epoll_event __user ,
event   
)

Definition at line 1681 of file eventpoll.c.

SYSCALL_DEFINE4 ( epoll_wait  ,
int  ,
epfd  ,
struct epoll_event __user ,
events  ,
int  ,
maxevents  ,
int  ,
timeout   
)

Definition at line 1809 of file eventpoll.c.

SYSCALL_DEFINE6 ( epoll_pwait  ,
int  ,
epfd  ,
struct epoll_event __user ,
events  ,
int  ,
maxevents  ,
int  ,
timeout  ,
const sigset_t __user ,
sigmask  ,
size_t  ,
sigsetsize   
)

Definition at line 1855 of file eventpoll.c.