diff options
Diffstat (limited to 'libdde_linux26/contrib/include/linux/eventpoll.h')
-rw-r--r-- | libdde_linux26/contrib/include/linux/eventpoll.h | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/libdde_linux26/contrib/include/linux/eventpoll.h b/libdde_linux26/contrib/include/linux/eventpoll.h deleted file mode 100644 index f1e1d3c4..00000000 --- a/libdde_linux26/contrib/include/linux/eventpoll.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * include/linux/eventpoll.h ( Efficent event polling implementation ) - * Copyright (C) 2001,...,2006 Davide Libenzi - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Davide Libenzi <davidel@xmailserver.org> - * - */ - -#ifndef _LINUX_EVENTPOLL_H -#define _LINUX_EVENTPOLL_H - -/* For O_CLOEXEC */ -#include <linux/fcntl.h> -#include <linux/types.h> - -/* Flags for epoll_create1. */ -#define EPOLL_CLOEXEC O_CLOEXEC - -/* Valid opcodes to issue to sys_epoll_ctl() */ -#define EPOLL_CTL_ADD 1 -#define EPOLL_CTL_DEL 2 -#define EPOLL_CTL_MOD 3 - -/* Set the One Shot behaviour for the target file descriptor */ -#define EPOLLONESHOT (1 << 30) - -/* Set the Edge Triggered behaviour for the target file descriptor */ -#define EPOLLET (1 << 31) - -/* - * On x86-64 make the 64bit structure have the same alignment as the - * 32bit structure. This makes 32bit emulation easier. - * - * UML/x86_64 needs the same packing as x86_64 - */ -#ifdef __x86_64__ -#define EPOLL_PACKED __attribute__((packed)) -#else -#define EPOLL_PACKED -#endif - -struct epoll_event { - __u32 events; - __u64 data; -} EPOLL_PACKED; - -#ifdef __KERNEL__ - -/* Forward declarations to avoid compiler errors */ -struct file; - - -#ifdef CONFIG_EPOLL - -/* Used to initialize the epoll bits inside the "struct file" */ -static inline void eventpoll_init_file(struct file *file) -{ - INIT_LIST_HEAD(&file->f_ep_links); - spin_lock_init(&file->f_ep_lock); -} - - -/* Used to release the epoll bits inside the "struct file" */ -void eventpoll_release_file(struct file *file); - -/* - * This is called from inside fs/file_table.c:__fput() to unlink files - * from the eventpoll interface. We need to have this facility to cleanup - * correctly files that are closed without being removed from the eventpoll - * interface. - */ -static inline void eventpoll_release(struct file *file) -{ - - /* - * Fast check to avoid the get/release of the semaphore. Since - * we're doing this outside the semaphore lock, it might return - * false negatives, but we don't care. It'll help in 99.99% of cases - * to avoid the semaphore lock. False positives simply cannot happen - * because the file in on the way to be removed and nobody ( but - * eventpoll ) has still a reference to this file. - */ - if (likely(list_empty(&file->f_ep_links))) - return; - - /* - * The file is being closed while it is still linked to an epoll - * descriptor. We need to handle this by correctly unlinking it - * from its containers. - */ - eventpoll_release_file(file); -} - -#else - -static inline void eventpoll_init_file(struct file *file) {} -static inline void eventpoll_release(struct file *file) {} - -#endif - -#endif /* #ifdef __KERNEL__ */ - -#endif /* #ifndef _LINUX_EVENTPOLL_H */ - |