[LTP] [PATCH] syscalls/epoll2: Remove PCL epoll test

Yang Xu xuyang2018.jy@cn.fujitsu.com
Fri Apr 17 05:41:57 CEST 2020


This case depends on PCL(Portable Coroutine Library), but this library
isn't included in most distributions. This case can't be compile since
2004. This case is hard to maintain and useless, we can remove it.

Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
---
 .../kernel/syscalls/epoll2/examples/Makefile  |  47 -
 .../syscalls/epoll2/examples/epoll-test.c     | 996 ------------------
 .../kernel/syscalls/epoll2/include/dbllist.h  |  98 --
 .../kernel/syscalls/epoll2/include/epoll.h    | 123 ---
 testcases/kernel/syscalls/epoll2/man/epoll.4  | 373 -------
 testcases/kernel/syscalls/epoll2/man/epoll.ps | 604 -----------
 .../kernel/syscalls/epoll2/man/epoll.txt      | 225 ----
 .../kernel/syscalls/epoll2/man/epoll_create.2 |  71 --
 .../syscalls/epoll2/man/epoll_create.ps       | 270 -----
 .../syscalls/epoll2/man/epoll_create.txt      |  40 -
 .../kernel/syscalls/epoll2/man/epoll_ctl.2    | 192 ----
 .../kernel/syscalls/epoll2/man/epoll_ctl.ps   | 362 -------
 .../kernel/syscalls/epoll2/man/epoll_ctl.txt  | 108 --
 .../kernel/syscalls/epoll2/man/epoll_wait.2   | 124 ---
 .../kernel/syscalls/epoll2/man/epoll_wait.ps  | 314 ------
 .../kernel/syscalls/epoll2/man/epoll_wait.txt |  68 --
 .../kernel/syscalls/epoll2/man/mkpages.sh     |  11 -
 testcases/kernel/syscalls/epoll2/src/epoll.c  |  28 -
 18 files changed, 4054 deletions(-)
 delete mode 100644 testcases/kernel/syscalls/epoll2/examples/Makefile
 delete mode 100644 testcases/kernel/syscalls/epoll2/examples/epoll-test.c
 delete mode 100644 testcases/kernel/syscalls/epoll2/include/dbllist.h
 delete mode 100644 testcases/kernel/syscalls/epoll2/include/epoll.h
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll.4
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll.ps
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll.txt
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_create.2
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_create.ps
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_create.txt
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_ctl.2
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_ctl.ps
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_ctl.txt
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_wait.2
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_wait.ps
 delete mode 100644 testcases/kernel/syscalls/epoll2/man/epoll_wait.txt
 delete mode 100755 testcases/kernel/syscalls/epoll2/man/mkpages.sh
 delete mode 100644 testcases/kernel/syscalls/epoll2/src/epoll.c

diff --git a/testcases/kernel/syscalls/epoll2/examples/Makefile b/testcases/kernel/syscalls/epoll2/examples/Makefile
deleted file mode 100644
index b59f65d09..000000000
--- a/testcases/kernel/syscalls/epoll2/examples/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-#  epoll ( Efficent event polling implementation )
-#  Copyright (C) 2001,...,2002	 Davide Libenzi
-#
-#  Davide Libenzi <davidel@xmailserver.org>
-#
-#
-
-OUTDIR = ../bin
-SRCDIR = .
-INCLUDE = -I- -I. -I../include -I/usr/src/linux/include
-LIBS = -L../lib -lepoll -lpcl
-
-
-ifeq ($(EPOLLCFG), release)
-CFLAGS = -O3 $(INCLUDE) -DUNIX
-else
-CFLAGS = -g $(INCLUDE) -DUNIX -D_DEBUG
-endif
-
-SOURCES = $(SRCDIR)/epoll-test.c
-
-MKDEP = mkdep -f
-
-
-all: blaster httpd pipetest
-
-.depend: $(SOURCES)
-	$(MKDEP) $(CFLAGS) $(SOURCES)
-
-blaster: $(SOURCES)
-	$(CC) $(CFLAGS) -DHTTP_BLASTER -o $(OUTDIR)/epoll-blaster $(SOURCES) $(LIBS)
-
-httpd: $(SOURCES)
-	$(CC) $(CFLAGS) -DDPHTTPD -o $(OUTDIR)/epoll-httpd $(SOURCES) $(LIBS)
-
-pipetest: $(SOURCES)
-	$(CC) $(CFLAGS) -DPIPETESTER -o $(OUTDIR)/epoll-pipetest $(SOURCES) $(LIBS)
-
-distclean: clean
-	@rm -f .depend
-
-clean:
-	@rm -f *~ $(OUTDIR)/epoll-blaster $(OUTDIR)/epoll-httpd $(OUTDIR)/epoll-pipetest
-
-#include .depend
-
diff --git a/testcases/kernel/syscalls/epoll2/examples/epoll-test.c b/testcases/kernel/syscalls/epoll2/examples/epoll-test.c
deleted file mode 100644
index 2b2faac30..000000000
--- a/testcases/kernel/syscalls/epoll2/examples/epoll-test.c
+++ /dev/null
@@ -1,996 +0,0 @@
-/*
- *  EpollTest by Davide Libenzi ( Epoll functionality tester )
- *  Copyright (C) 2003  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.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- *  Davide Libenzi <davidel@xmailserver.org>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdarg.h>
-#include <string.h>
-#include <assert.h>
-#include <limits.h>
-#include <ctype.h>
-#include <time.h>
-#include <errno.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-#include <sched.h>
-#include <sys/file.h>
-#include <sys/ioctl.h>
-#include <sys/mman.h>
-#include <sys/select.h>
-#include <sys/wait.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <arpa/inet.h>
-#include <arpa/nameser.h>
-#include <netdb.h>
-#include <syslog.h>
-#include <glob.h>
-#include <semaphore.h>
-
-/*
- * You need the Portable Coroutine Library (PCL) to build this source.
- * You can find a copy of PCL source code at :
- *
- *             http://www.xmailserver.org/libpcl.html
- */
-#include <pcl.h>
-
-#include "epoll.h"
-#include "dbllist.h"
-
-#define CO_STD_STACK_SIZE		(2 * 4096)
-#define STD_SCHED_TIMEOUT		1000
-/* you might need to increase "net.ipv4.tcp_max_syn_backlog" to use this value */
-#define STD_LISTEN_SIZE			2048
-#define DATA_BUFFER_SIZE		2048
-#define MIN_AHEAD_SPACE			(DATA_BUFFER_SIZE / 12)
-#define STD_MESSAGE_SIZE		128
-#define STD_SERVER_PORT			8080
-#define MAX_DEFAULT_FDS			20000
-
-struct eph_conn {
-	struct list_head lnk;
-	int sfd;
-	unsigned int events, revents;
-	coroutine_t co;
-	int nbytes, rindex;
-	char buffer[DATA_BUFFER_SIZE];
-};
-
-static int kdpfd;
-static struct list_head close_list;
-static struct epoll_event *events;
-static int maxfds, numfds = 0;
-static int chash_size;
-static struct list_head *chash;
-static int msgsize = STD_MESSAGE_SIZE, port = STD_SERVER_PORT,
-    maxsfd = MAX_DEFAULT_FDS, stksize = CO_STD_STACK_SIZE;
-struct sockaddr_in saddr;
-static volatile unsigned long httpresp = 0;
-static int nreqsess = 1;
-static char httpreq[512] = "";
-
-int eph_socket(int domain, int type, int protocol)
-{
-	int sfd = socket(domain, type, protocol), flags = 1;
-
-	if (sfd == -1)
-		return -1;
-	if (ioctl(sfd, FIONBIO, &flags) &&
-	    ((flags = fcntl(sfd, F_GETFL, 0)) < 0 ||
-	     fcntl(sfd, F_SETFL, flags | O_NONBLOCK) < 0)) {
-		close(sfd);
-		return -1;
-	}
-	return sfd;
-}
-
-int eph_close(int sfd)
-{
-	close(sfd);
-	return 0;
-}
-
-static int eph_new_conn(int sfd, void *func)
-{
-	struct eph_conn *conn = malloc(sizeof(struct eph_conn));
-	struct epoll_event ev;
-
-	if (!conn)
-		return -1;
-
-	memset(conn, 0, sizeof(*conn));
-	DBL_INIT_LIST_HEAD(&conn->lnk);
-	conn->sfd = sfd;
-	conn->events = 0;
-	conn->revents = 0;
-	conn->nbytes = conn->rindex = 0;
-	if (!(conn->co = co_create(func, conn, NULL, stksize))) {
-		free(conn);
-		return -1;
-	}
-
-	DBL_LIST_ADDT(&conn->lnk, &chash[sfd % chash_size]);
-
-	ev.events = 0;
-	ev.data.ptr = conn;
-	if (epoll_ctl(kdpfd, EPOLL_CTL_ADD, sfd, &ev) < 0) {
-		fprintf(stderr, "epoll set insertion error: fd=%d\n", sfd);
-
-		DBL_LIST_DEL(&conn->lnk);
-		co_delete(conn->co);
-		free(conn);
-		return -1;
-	}
-
-	++numfds;
-
-	co_call(conn->co);
-
-	return 0;
-}
-
-static void eph_exit_conn(struct eph_conn *conn)
-{
-	struct epoll_event ev;
-
-	if (epoll_ctl(kdpfd, EPOLL_CTL_DEL, conn->sfd, &ev) < 0) {
-		fprintf(stderr, "epoll set deletion error: fd=%d\n", conn->sfd);
-
-	}
-
-	DBL_LIST_DEL(&conn->lnk);
-	DBL_LIST_ADDT(&conn->lnk, &close_list);
-
-	eph_close(conn->sfd);
-	conn->sfd = -1;
-
-	--numfds;
-
-	co_exit();
-}
-
-static void eph_free_conns(void)
-{
-	struct eph_conn *conn;
-
-	while (!DBL_LIST_EMTPY(&close_list)) {
-		conn = DBL_LIST_ENTRY(close_list.pNext, struct eph_conn, lnk);
-
-		DBL_LIST_DEL(&conn->lnk);
-		free(conn);
-	}
-}
-
-static int eph_mod_conn(struct eph_conn *conn, unsigned int events)
-{
-	struct epoll_event ev;
-
-	ev.events = events;
-	ev.data.ptr = conn;
-	if (epoll_ctl(kdpfd, EPOLL_CTL_MOD, conn->sfd, &ev) < 0) {
-		fprintf(stderr, "epoll set modify error: fd=%d\n", conn->sfd);
-		return -1;
-	}
-	return 0;
-}
-
-int eph_connect(struct eph_conn *conn, const struct sockaddr *serv_addr,
-		socklen_t addrlen)
-{
-
-	if (connect(conn->sfd, serv_addr, addrlen) == -1) {
-		if (errno != EWOULDBLOCK && errno != EINPROGRESS)
-			return -1;
-		if (!(conn->events & EPOLLOUT)) {
-			conn->events = EPOLLOUT | EPOLLERR | EPOLLHUP;
-			if (eph_mod_conn(conn, conn->events) < 0)
-				return -1;
-		}
-		co_resume();
-		if (conn->revents & (EPOLLERR | EPOLLHUP))
-			return -1;
-	}
-	return 0;
-}
-
-int eph_read(struct eph_conn *conn, char *buf, int nbyte)
-{
-	int n;
-
-	while ((n = read(conn->sfd, buf, nbyte)) < 0) {
-		if (errno == EINTR)
-			continue;
-		if (errno != EAGAIN && errno != EWOULDBLOCK)
-			return -1;
-		if (!(conn->events & EPOLLIN)) {
-			conn->events = EPOLLIN | EPOLLERR | EPOLLHUP;
-			if (eph_mod_conn(conn, conn->events) < 0)
-				return -1;
-		}
-		co_resume();
-	}
-	return n;
-}
-
-int eph_write(struct eph_conn *conn, char const *buf, int nbyte)
-{
-	int n;
-
-	while ((n = write(conn->sfd, buf, nbyte)) < 0) {
-		if (errno == EINTR)
-			continue;
-		if (errno != EAGAIN && errno != EWOULDBLOCK)
-			return -1;
-		if (!(conn->events & EPOLLOUT)) {
-			conn->events = EPOLLOUT | EPOLLERR | EPOLLHUP;
-			if (eph_mod_conn(conn, conn->events) < 0)
-				return -1;
-		}
-		co_resume();
-	}
-	return n;
-}
-
-int eph_accept(struct eph_conn *conn, struct sockaddr *addr, int *addrlen)
-{
-	int sfd, flags = 1;
-
-	while ((sfd = accept(conn->sfd, addr, (socklen_t *) addrlen)) < 0) {
-		if (errno == EINTR)
-			continue;
-		if (errno != EAGAIN && errno != EWOULDBLOCK)
-			return -1;
-		if (!(conn->events & EPOLLIN)) {
-			conn->events = EPOLLIN | EPOLLERR | EPOLLHUP;
-			if (eph_mod_conn(conn, conn->events) < 0)
-				return -1;
-		}
-		co_resume();
-	}
-	if (ioctl(sfd, FIONBIO, &flags) &&
-	    ((flags = fcntl(sfd, F_GETFL, 0)) < 0 ||
-	     fcntl(sfd, F_SETFL, flags | O_NONBLOCK) < 0)) {
-		close(sfd);
-		return -1;
-	}
-	return sfd;
-}
-
-static int eph_create_conn(int domain, int type, int protocol, void *func)
-{
-	int sfd = eph_socket(domain, type, protocol);
-
-	return sfd != -1 ? eph_new_conn(sfd, func) : -1;
-}
-
-static int eph_read_data(struct eph_conn *conn)
-{
-	int nbytes;
-
-	if (conn->rindex && conn->rindex < conn->nbytes) {
-		memmove(conn->buffer, conn->buffer + conn->rindex,
-			conn->nbytes - conn->rindex);
-		conn->nbytes -= conn->rindex;
-	} else
-		conn->nbytes = 0;
-
-	conn->rindex = 0;
-
-	if ((nbytes = eph_read(conn, conn->buffer + conn->nbytes,
-			       sizeof(conn->buffer) - conn->nbytes)) <= 0)
-		return -1;
-
-	conn->nbytes += nbytes;
-
-	return 0;
-}
-
-static int eph_write_data(struct eph_conn *conn, char const *buf, int nbyte)
-{
-	int wbytes, wcurr;
-
-	for (wbytes = 0; wbytes < nbyte;) {
-		if ((wcurr = eph_write(conn, buf + wbytes, nbyte - wbytes)) < 0)
-			break;
-		wbytes += wcurr;
-	}
-
-	return wbytes;
-}
-
-static char *eph_read_line(struct eph_conn *conn)
-{
-	char *nline, *line;
-
-	for (;;) {
-		if (conn->nbytes > conn->rindex) {
-			if ((nline = memchr(conn->buffer + conn->rindex, '\n',
-					    conn->nbytes - conn->rindex))) {
-				line = conn->buffer + conn->rindex;
-				conn->rindex += (nline - line) + 1;
-				for (; nline > line && nline[-1] == '\r';
-				     nline--) ;
-				*nline = '\0';
-				return line;
-			}
-		}
-		if (eph_read_data(conn) < 0)
-			break;
-	}
-	return NULL;
-}
-
-static int eph_parse_request(struct eph_conn *conn)
-{
-	char *line;
-
-	if (!(line = eph_read_line(conn)))
-		return -1;
-
-	for (;;) {
-		if (!(line = eph_read_line(conn)))
-			return -1;
-
-		if (*line == '\0')
-			break;
-	}
-
-	return 0;
-}
-
-static int eph_send_response(struct eph_conn *conn)
-{
-	static int resplen = -1;
-	static char *resp = NULL;
-
-	if (resp == NULL) {
-		msgsize = ((msgsize + 63) / 64) * 64;
-
-		resp = malloc(msgsize + 256);
-
-		sprintf(resp,
-			"HTTP/1.1 200 OK\r\n"
-			"Server: dp server\r\n"
-			"Content-Type: text/plain\r\n"
-			"Content-Length: %d\r\n" "\r\n", msgsize);
-
-		while (msgsize > 0) {
-			strcat(resp,
-			       "01234567890123\r\n"
-			       "01234567890123\r\n"
-			       "01234567890123\r\n" "01234567890123\r\n");
-			msgsize -= 64;
-		}
-
-		resplen = strlen(resp);
-	}
-
-	if (eph_write_data(conn, resp, resplen) != resplen)
-		return -1;
-
-	return 0;
-}
-
-static void *eph_httpd(void *data)
-{
-	struct eph_conn *conn = (struct eph_conn *)data;
-
-	while (eph_parse_request(conn) == 0) {
-		eph_send_response(conn);
-
-	}
-
-	eph_exit_conn(conn);
-	return data;
-}
-
-static void *eph_acceptor(void *data)
-{
-	struct eph_conn *conn = (struct eph_conn *)data;
-	struct sockaddr_in addr;
-	int sfd, addrlen = sizeof(addr);
-
-	while ((sfd =
-		eph_accept(conn, (struct sockaddr *)&addr, &addrlen)) != -1) {
-		if (eph_new_conn(sfd, eph_httpd) < 0) {
-			eph_close(sfd);
-
-		}
-	}
-	eph_exit_conn(conn);
-	return data;
-}
-
-static struct eph_conn *eph_find(int sfd)
-{
-	struct list_head *head = &chash[sfd % chash_size], *lnk;
-	struct eph_conn *conn;
-
-	DBL_LIST_FOR_EACH(lnk, head) {
-		conn = DBL_LIST_ENTRY(lnk, struct eph_conn, lnk);
-
-		if (conn->sfd == sfd)
-			return conn;
-	}
-	return NULL;
-}
-
-static int eph_runqueue(void)
-{
-	int i;
-	struct list_head *head, *lnk;
-	struct eph_conn *conn;
-
-	for (i = 0; i < chash_size; i++) {
-		head = &chash[i];
-		for (lnk = head->pNext; lnk != head;) {
-			conn = DBL_LIST_ENTRY(lnk, struct eph_conn, lnk);
-
-			lnk = lnk->pNext;
-			co_call(conn->co);
-		}
-	}
-	return 0;
-}
-
-unsigned long long eph_mstics(void)
-{
-
-	struct timeval tv;
-
-	if (gettimeofday(&tv, NULL) != 0)
-		return (0);
-
-	return (1000 * (unsigned long long)tv.tv_sec +
-		(unsigned long long)tv.tv_usec / 1000);
-
-}
-
-int eph_init(void)
-{
-	int i;
-
-	if (!
-	    (events = malloc(maxsfd * sizeof(struct epoll_event)))) {
-		perror("malloc()");
-		return -1;
-	}
-
-	if ((kdpfd = epoll_create(maxsfd)) < 0) {
-		perror("epoll_create");
-		return -1;
-	}
-
-	if (!
-	    (chash = malloc(maxsfd * sizeof(struct list_head)))) {
-		perror("malloc()");
-		free(events);
-		close(kdpfd);
-		return -1;
-	}
-
-	maxfds = maxsfd;
-	chash_size = maxfds;
-	for (i = 0; i < maxfds; i++)
-		DBL_INIT_LIST_HEAD(&chash[i]);
-
-	DBL_INIT_LIST_HEAD(&close_list);
-
-	return 0;
-}
-
-int eph_cleanup(void)
-{
-
-	free(events);
-	free(chash);
-	close(kdpfd);
-	return 0;
-}
-
-static int eph_scheduler(int loop, unsigned int timeout)
-{
-	int i, nfds;
-	struct eph_conn *conn;
-	struct epoll_event *cevents;
-
-	do {
-		nfds = epoll_wait(kdpfd, events, maxfds, timeout);
-
-		for (i = 0, cevents = events; i < nfds; i++, cevents++) {
-			conn = cevents->data.ptr;
-			if (conn->sfd != -1) {
-				conn->revents = cevents->events;
-
-				if (conn->revents & conn->events)
-					co_call(conn->co);
-			}
-		}
-#if 0
-		if (nfds <= 0)
-			eph_runqueue();
-#endif
-		eph_free_conns();
-	} while (loop);
-
-	return 0;
-}
-
-#if defined(DPHTTPD)
-
-void eph_usage(char const *prgname)
-{
-
-	fprintf(stderr,
-		"use: %s [--msgsize nbytes (%d)] [--port nbr (%d)] [--maxfds nfds (%d)]\n\t[--stksize bytes (%d)]\n",
-		prgname, msgsize, port, maxsfd, stksize);
-
-}
-
-int main(int argc, char *argv[])
-{
-	int i, sfd, flags = 1;
-	struct linger ling = { 0, 0 };
-	struct sockaddr_in addr;
-
-	for (i = 1; i < argc; i++) {
-		if (strcmp(argv[i], "--msgsize") == 0) {
-			if (++i < argc)
-				msgsize = atoi(argv[i]);
-			continue;
-		}
-		if (strcmp(argv[i], "--port") == 0) {
-			if (++i < argc)
-				port = atoi(argv[i]);
-			continue;
-		}
-		if (strcmp(argv[i], "--maxfds") == 0) {
-			if (++i < argc)
-				maxsfd = atoi(argv[i]);
-			continue;
-		}
-		if (strcmp(argv[i], "--stksize") == 0) {
-			if (++i < argc)
-				stksize = atoi(argv[i]);
-			continue;
-		}
-
-		eph_usage(argv[0]);
-		return 1;
-	}
-
-	if (eph_init() == -1) {
-
-		return 2;
-	}
-
-	if ((sfd = eph_socket(AF_INET, SOCK_STREAM, 0)) == -1) {
-
-		eph_cleanup();
-		return 3;
-	}
-
-	setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &flags, sizeof(flags));
-	setsockopt(sfd, SOL_SOCKET, SO_KEEPALIVE, &flags, sizeof(flags));
-	setsockopt(sfd, SOL_SOCKET, SO_LINGER, &ling, sizeof(ling));
-
-	addr.sin_family = AF_INET;
-	addr.sin_port = htons(port);
-	addr.sin_addr.s_addr = htonl(INADDR_ANY);
-	if (bind(sfd, (struct sockaddr *)&addr, sizeof(addr)) == -1) {
-
-		eph_close(sfd);
-		eph_cleanup();
-		return 4;
-	}
-
-	listen(sfd, STD_LISTEN_SIZE);
-
-	if (eph_new_conn(sfd, (void *)eph_acceptor) == -1) {
-
-		eph_close(sfd);
-		eph_cleanup();
-		return 5;
-	}
-
-	do {
-		eph_scheduler(0, STD_SCHED_TIMEOUT);
-	} while (numfds);
-
-	eph_cleanup();
-	return 0;
-}
-
-#endif /* #if defined(DPHTTPD) */
-
-#if defined(HTTP_BLASTER)
-
-static void *eph_http_session(void *data)
-{
-	int i, rlen = strlen(httpreq), ava;
-	struct eph_conn *conn = (struct eph_conn *)data;
-
-	if (eph_connect(conn, (struct sockaddr *)&saddr, sizeof(saddr)) == 0) {
-		for (i = 0; i < nreqsess; i++) {
-			if (eph_write_data(conn, httpreq, rlen) == rlen) {
-				static char const *clent = "Content-Length:";
-				int length = -1, clens = strlen(clent);
-				char *line;
-				static char buf[2048];
-
-				while ((line = eph_read_line(conn))) {
-					if (*line == '\0')
-						break;
-					if (strncasecmp(line, clent, clens) ==
-					    0) {
-						for (line += clens;
-						     *line == ' '; line++) ;
-						length = atoi(line);
-					}
-				}
-				if (length < 0)
-					goto sess_out;
-				if ((ava = conn->nbytes - conn->rindex) > 0) {
-					if (ava > length)
-						ava = length;
-					length -= ava;
-					conn->rindex += ava;
-				}
-				++httpresp;
-				while (length > 0) {
-					int rsiz =
-					    length >
-					    sizeof(buf) ? sizeof(buf) : length;
-
-					if ((rsiz =
-					     eph_read(conn, buf, rsiz)) <= 0)
-						goto sess_out;
-					length -= rsiz;
-				}
-			} else
-				goto sess_out;
-		}
-	}
-sess_out:
-	eph_exit_conn(conn);
-	return data;
-}
-
-void eph_usage(char const *prgname)
-{
-
-	fprintf(stderr,
-		"use: %s  --server serv	 --port nprt  --numconns ncon  [--nreq nreq (%d)]\n"
-		"[--maxconns ncon] [--url url ('/')] [--stksize bytes (%d)]\n",
-		prgname, nreqsess, stksize);
-
-}
-
-int main(int argc, char *argv[])
-{
-	int i, nconns = 0, totconns = 0, maxconns = 0;
-	unsigned long resplast;
-	unsigned long long tinit, tlast, tcurr;
-	struct hostent *he;
-	char const *server = NULL, *url = "/";
-	struct in_addr inadr;
-
-	for (i = 1; i < argc; i++) {
-		if (strcmp(argv[i], "--server") == 0) {
-			if (++i < argc)
-				server = argv[i];
-			continue;
-		}
-		if (strcmp(argv[i], "--port") == 0) {
-			if (++i < argc)
-				port = atoi(argv[i]);
-			continue;
-		}
-		if (strcmp(argv[i], "--maxconns") == 0) {
-			if (++i < argc)
-				maxconns = atoi(argv[i]);
-			continue;
-		}
-		if (strcmp(argv[i], "--numconns") == 0) {
-			if (++i < argc) {
-				nconns = atoi(argv[i]);
-				if (nconns > maxsfd)
-					maxsfd = nconns + nconns >> 1 + 1;
-			}
-			continue;
-		}
-		if (strcmp(argv[i], "--nreq") == 0) {
-			if (++i < argc)
-				nreqsess = atoi(argv[i]);
-			continue;
-		}
-		if (strcmp(argv[i], "--url") == 0) {
-			if (++i < argc)
-				url = argv[i];
-			continue;
-		}
-		if (strcmp(argv[i], "--stksize") == 0) {
-			if (++i < argc)
-				stksize = atoi(argv[i]);
-			continue;
-		}
-
-		eph_usage(argv[0]);
-		return 1;
-	}
-
-	if (!server || !nconns) {
-		eph_usage(argv[0]);
-		return 2;
-	}
-
-	sprintf(httpreq,
-		"GET %s HTTP/1.1\r\n"
-		"Host: %s\r\n" "Connection: keepalive\r\n" "\r\n", url, server);
-
-	if (inet_aton(server, &inadr) == 0) {
-		if ((he = gethostbyname(server)) == NULL) {
-			fprintf(stderr, "unable to resolve: %s\n", server);
-			return (-1);
-		}
-
-		memcpy(&inadr.s_addr, he->h_addr_list[0], he->h_length);
-	}
-	saddr.sin_family = AF_INET;
-	saddr.sin_port = htons(port);
-	memcpy(&saddr.sin_addr, &inadr.s_addr, 4);
-
-	if (eph_init() == -1) {
-
-		return 2;
-	}
-
-	resplast = 0;
-	tinit = tlast = eph_mstics();
-
-	for (; numfds || (!maxconns || totconns < maxconns);) {
-		int nfds = numfds, errs = 0, diffconns = nconns - numfds;
-
-		while (numfds < nconns && (!maxconns || totconns < maxconns)) {
-			eph_create_conn(AF_INET, SOCK_STREAM, 0,
-					eph_http_session);
-			if (nfds == numfds) {
-				++errs;
-				if (errs > 32) {
-					fprintf(stderr,
-						"unable to connect: server=%s errors=%d\n",
-						server, errs);
-					goto main_exit;
-				}
-			} else
-				++totconns;
-			nfds = numfds;
-		}
-
-		eph_scheduler(0, STD_SCHED_TIMEOUT);
-
-		tcurr = eph_mstics();
-		if ((tcurr - tlast) >= 1000) {
-			printf
-			    ("rate = %lu  avg = %lu  totconns = %d  diff = %d  resp = %ld  nfds = %d\n",
-			     (unsigned long)((1000 * (httpresp - resplast)) /
-					     (tcurr - tlast)),
-			     (unsigned long)((1000 * httpresp) /
-					     (tcurr - tinit)), totconns,
-			     diffconns, httpresp, numfds);
-
-			tlast = tcurr;
-			resplast = httpresp;
-		}
-	}
-
-main_exit:
-	eph_cleanup();
-	return 0;
-}
-
-#endif /* #if defined(HTTP_BLASTER) */
-
-#if defined(PIPETESTER)
-
-int eph_createcgi(char **args, void *func)
-{
-	int fds[2], flags = 1;
-	pid_t chpid;
-
-	if (pipe(fds)) {
-		perror("pipe");
-		return -1;
-	}
-	chpid = fork();
-	if (chpid == -1) {
-		perror("fork");
-		close(fds[0]), close(fds[1]);
-		return -1;
-	} else if (chpid == 0) {
-		close(fds[0]);
-		dup2(fds[1], 1);
-		close(fds[1]);
-		execvp(args[0], args);
-		perror("exec");
-		exit(1);
-	}
-	close(fds[1]);
-	if (ioctl(fds[0], FIONBIO, &flags) &&
-	    ((flags = fcntl(fds[0], F_GETFL, 0)) < 0 ||
-	     fcntl(fds[0], F_SETFL, flags | O_NONBLOCK) < 0)) {
-		close(fds[0]);
-		return -1;
-	}
-	fprintf(stdout, "child-run=%d  fd=%d\n", chpid, fds[0]), fflush(stdout);
-	return eph_new_conn(fds[0], func);
-}
-
-int eph_createpipetest(int size, int tsleep, int ttime, void *func)
-{
-	int fds[2], flags = 1;
-	pid_t chpid;
-
-	if (pipe(fds)) {
-		perror("pipe");
-		return -1;
-	}
-	chpid = fork();
-	if (chpid == -1) {
-		perror("fork");
-		close(fds[0]), close(fds[1]);
-		return -1;
-	} else if (chpid == 0) {
-		int i;
-		char *buff = malloc(size + 1);
-		close(fds[0]);
-		dup2(fds[1], 1);
-		close(fds[1]);
-
-		srand(getpid() * time(NULL));
-		for (i = 0; i < (size - 1); i++) {
-			if (i && !(i % 64))
-				buff[i] = '\n';
-			else
-				buff[i] = '0' + (rand() % 10);
-		}
-		buff[i++] = '\n';
-		buff[i] = '\0';
-		ttime += (ttime * rand()) / RAND_MAX - (ttime >> 1);
-		ttime *= 1000;
-		while (ttime > 0) {
-			usleep(tsleep * 1000);
-			fputs(buff, stdout), fflush(stdout);
-			ttime -= tsleep;
-		}
-		free(buff);
-		exit(0);
-	}
-	close(fds[1]);
-	if (ioctl(fds[0], FIONBIO, &flags) &&
-	    ((flags = fcntl(fds[0], F_GETFL, 0)) < 0 ||
-	     fcntl(fds[0], F_SETFL, flags | O_NONBLOCK) < 0)) {
-		close(fds[0]);
-		return -1;
-	}
-	fprintf(stdout, "child-run=%d  fd=%d\n", chpid, fds[0]), fflush(stdout);
-	return eph_new_conn(fds[0], func);
-}
-
-static void *eph_pipe_session(void *data)
-{
-	struct eph_conn *conn = (struct eph_conn *)data;
-	int nbytes, totbytes = 0;
-	char buff[257];
-
-	while ((nbytes = eph_read(conn, buff, sizeof(buff))) > 0) {
-		fprintf(stdout, "[%p] %d bytes readed\n", conn, nbytes),
-		    fflush(stdout);
-		totbytes += nbytes;
-	}
-	fprintf(stdout, "[%p] exit - totbytes=%d\n", conn, totbytes),
-	    fflush(stdout);
-	eph_exit_conn(conn);
-	return data;
-}
-
-void eph_sigchld(int sig)
-{
-	int status;
-	pid_t pid;
-
-	while ((pid = waitpid(0, &status, WNOHANG)) > 0) {
-		fprintf(stdout, "child-dead=%d\n", pid), fflush(stdout);
-	}
-	signal(SIGCHLD, eph_sigchld);
-}
-
-void eph_usage(char const *prgname)
-{
-
-	fprintf(stderr,
-		"use: %s  [--ncgis ncgi]  [--cgi cgi] [--stksize bytes (%d)]\n",
-		prgname, stksize);
-
-}
-
-int main(int argc, char *argv[])
-{
-	int i, ncgis = 8;
-	char *cgi = NULL;
-	char *args[16];
-
-	for (i = 1; i < argc; i++) {
-		if (strcmp(argv[i], "--ncgis") == 0) {
-			if (++i < argc)
-				ncgis = atoi(argv[i]);
-			continue;
-		}
-		if (strcmp(argv[i], "--cgi") == 0) {
-			if (++i < argc)
-				cgi = argv[i];
-			continue;
-		}
-		if (strcmp(argv[i], "--stksize") == 0) {
-			if (++i < argc)
-				stksize = atoi(argv[i]);
-			continue;
-		}
-
-		eph_usage(argv[0]);
-		return 1;
-	}
-
-	signal(SIGCHLD, eph_sigchld);
-	signal(SIGPIPE, SIG_IGN);
-
-	if (eph_init() == -1) {
-
-		return 2;
-	}
-
-	if (cgi) {
-		args[0] = cgi;
-		args[1] = NULL;
-
-		for (i = 0; i < ncgis; i++)
-			eph_createcgi(args, eph_pipe_session);
-	} else {
-		for (i = 0; i < ncgis; i++)
-			eph_createpipetest(256, 250, 8, eph_pipe_session);
-	}
-
-	while (numfds > 0)
-		eph_scheduler(0, STD_SCHED_TIMEOUT);
-
-	eph_cleanup();
-	return 0;
-}
-
-#endif /* #if defined(PIPETESTER) */
diff --git a/testcases/kernel/syscalls/epoll2/include/dbllist.h b/testcases/kernel/syscalls/epoll2/include/dbllist.h
deleted file mode 100644
index 30d179183..000000000
--- a/testcases/kernel/syscalls/epoll2/include/dbllist.h
+++ /dev/null
@@ -1,98 +0,0 @@
-
-#ifndef _DBLLISTS_H
-#define _DBLLISTS_H
-
-
-
-#define DBL_LIST_HEAD_INIT(name)        { &(name), &(name) }
-
-#define DBL_LIST_HEAD(name)             struct list_head name = DBL_LIST_HEAD_INIT(name)
-
-#define DBL_INIT_LIST_HEAD(ptr) \
-do { \
-    (ptr)->pNext = (ptr)->pPrev = (ptr); \
-} while (0)
-
-#define DBL_LIST_ADD(newi, prev, next) \
-do { \
-    struct list_head *pPrev = prev; \
-    struct list_head *pNext = next; \
-    (pNext)->pPrev = newi; \
-    (newi)->pNext = pNext; \
-    (newi)->pPrev = pPrev; \
-    (pPrev)->pNext = newi; \
-} while (0)
-
-#define DBL_LIST_ADDH(new, head)        DBL_LIST_ADD(new, head, (head)->pNext)
-
-#define DBL_LIST_ADDT(new, head)        DBL_LIST_ADD(new, (head)->pPrev, head)
-
-#define DBL_LIST_UNLINK(prev, next) \
-do { \
-    struct list_head *pPrev = prev; \
-    struct list_head *pNext = next; \
-    (next)->pPrev = pPrev; \
-    (prev)->pNext = pNext; \
-} while (0)
-
-#define DBL_LIST_DEL(entry) \
-do { \
-    DBL_LIST_UNLINK((entry)->pPrev, (entry)->pNext); \
-    DBL_INIT_LIST_HEAD(entry); \
-} while (0)
-
-#define DBL_LIST_EMTPY(head)            ((head)->pNext == head)
-
-#define DBL_LIST_SPLICE(list, head) \
-do { \
-    struct list_head *    first = (list)->pNext; \
-    if (first != list) { \
-        struct list_head *	last = (list)->pPrev; \
-        struct list_head *	at = (head)->pNext; \
-        (first)->pPrev = head; \
-        (head)->pNext = first; \
-        (last)->pNext = at; \
-        (at)->pPrev = last; \
-    } \
-} while (0)
-
-#define DBL_HEAD_COPY(oldh, newh) \
-do { \
-    *(oldh) = (*newh); \
-    (newh)->pNext->pPrev = (oldh); \
-    (newh)->pPrev->pNext = (oldh); \
-} while (0)
-
-#define DBL_ITEM_IN_LIST(ptr)           (((ptr)->pPrev != (ptr)) && ((ptr)->pNext != (ptr)))
-
-#define DBL_LIST_FIRST(head)            (((head)->pNext != (head)) ? (head)->pNext: NULL)
-
-#define DBL_LIST_LAST(head)             (((head)->pPrev != (head)) ? (head)->pPrev: NULL)
-
-#define DBL_LIST_ENTRY(ptr, type, member)   ((type *)((char *)(ptr) - (unsigned long)(&((type *)0)->member)))
-
-#define DBL_LIST_FOR_EACH(pos, head)    for (pos = (head)->pNext; pos != (head); pos = (pos)->pNext)
-
-#define DBL_END_OF_LIST(pos, head)      ((pos) == (head))
-
-#define DBL_LIST_NEXT(pos, head)        (((pos)->pNext != (head)) ? (pos)->pNext: NULL)
-
-#define DBL_LIST_PREV(pos, head)        (((pos)->pPrev != (head)) ? (pos)->pPrev: NULL)
-
-
-
-
-
-
-
-struct list_head
-{
-    struct list_head *pNext;
-    struct list_head *pPrev;
-};
-
-
-
-
-
-#endif
diff --git a/testcases/kernel/syscalls/epoll2/include/epoll.h b/testcases/kernel/syscalls/epoll2/include/epoll.h
deleted file mode 100644
index 8cc5e7ef0..000000000
--- a/testcases/kernel/syscalls/epoll2/include/epoll.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_SYS_EPOLL_H
-#define	_SYS_EPOLL_H	1
-
-#include <stdint.h>
-#include <sys/types.h>
-
-
-enum EPOLL_EVENTS
-  {
-    EPOLLIN = 0x001,
-#define EPOLLIN EPOLLIN
-    EPOLLPRI = 0x002,
-#define EPOLLPRI EPOLLPRI
-    EPOLLOUT = 0x004,
-#define EPOLLOUT EPOLLOUT
-    EPOLLRDNORM = 0x040,
-#define EPOLLRDNORM EPOLLRDNORM
-    EPOLLRDBAND = 0x080,
-#define EPOLLRDBAND EPOLLRDBAND
-    EPOLLWRNORM = 0x100,
-#define EPOLLWRNORM EPOLLWRNORM
-    EPOLLWRBAND = 0x200,
-#define EPOLLWRBAND EPOLLWRBAND
-    EPOLLMSG = 0x400,
-#define EPOLLMSG EPOLLMSG
-    EPOLLERR = 0x008,
-#define EPOLLERR EPOLLERR
-    EPOLLHUP = 0x010,
-#define EPOLLHUP EPOLLHUP
-    EPOLLONESHOT = (1 << 30),
-#define EPOLLONESHOT EPOLLONESHOT
-    EPOLLET = (1 << 31)
-#define EPOLLET EPOLLET
-
-  };
-
-
-/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl().  */
-#define EPOLL_CTL_ADD 1	/* Add a file decriptor to the interface.  */
-#define EPOLL_CTL_DEL 2	/* Remove a file decriptor from the interface.  */
-#define EPOLL_CTL_MOD 3	/* Change file decriptor epoll_event structure.  */
-
-
-/*
- * On x86-64 make the 64bit structure have the same alignment as the
- * 32bit structure. This makes 32bit emulation easier.
- */
-#ifdef __x86_64__
-#define EPOLL_PACKED __attribute__((packed))
-#else
-#define EPOLL_PACKED
-#endif
-
-
-typedef union epoll_data
-{
-  void *ptr;
-  int fd;
-  uint32_t u32;
-  uint64_t u64;
-} epoll_data_t;
-
-struct epoll_event
-{
-  uint32_t events;	/* Epoll events */
-  epoll_data_t data;	/* User data variable */
-} EPOLL_PACKED;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Creates an epoll instance.  Returns an fd for the new instance.
-   The "size" parameter is a hint specifying the number of file
-   descriptors to be associated with the new instance.  The fd
-   returned by epoll_create() should be closed with close().  */
-extern int epoll_create (int __size) __THROW;
-
-
-/* Manipulate an epoll instance "epfd". Returns 0 in case of success,
-   -1 in case of error ( the "errno" variable will contain the
-   specific error code ) The "op" parameter is one of the EPOLL_CTL_*
-   constants defined above. The "fd" parameter is the target of the
-   operation. The "event" parameter describes which events the caller
-   is interested in and any associated user data.  */
-extern int epoll_ctl (int __epfd, int __op, int __fd,
-		      struct epoll_event *__event) __THROW;
-
-
-/* Wait for events on an epoll instance "epfd". Returns the number of
-   triggered events returned in "events" buffer. Or -1 in case of
-   error with the "errno" variable set to the specific error code. The
-   "events" parameter is a buffer that will contain triggered
-   events. The "maxevents" is the maximum number of events to be
-   returned ( usually size of "events" ). The "timeout" parameter
-   specifies the maximum wait time in milliseconds (-1 == infinite).  */
-extern int epoll_wait (int __epfd, struct epoll_event *__events,
-		       int __maxevents, int __timeout) __THROW;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* sys/epoll.h */
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll.4 b/testcases/kernel/syscalls/epoll2/man/epoll.4
deleted file mode 100644
index e9d531bab..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll.4
+++ /dev/null
@@ -1,373 +0,0 @@
-.\"
-.\"  epoll by Davide Libenzi ( efficient event notification retrieval )
-.\"  Copyright (C) 2003  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.
-.\"
-.\"  This program is distributed in the hope that it will be useful,
-.\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\"  GNU General Public License for more details.
-.\"
-.\"  You should have received a copy of the GNU General Public License
-.\"  along with this program; if not, write to the Free Software
-.\"  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-.\"
-.\"  Davide Libenzi <davidel@xmailserver.org>
-.\"
-.\"
-.TH EPOLL 4 "23 October 2002" Linux "Linux Programmer's Manual"
-.SH NAME
-epoll \- I/O event notification facility
-.SH SYNOPSIS
-.B #include <sys/epoll.h>
-.SH DESCRIPTION
-.B epoll
-is a variant of$
-.BR poll (2)
-that can be used either as Edge or Level Triggered interface and scales
-well to large numbers of watched fds. Three system calls are provided to
-set up and control an
-.B epoll
-set:$
-.BR epoll_create (2) ,
-.BR epoll_ctl (2) ,
-.BR epoll_wait (2) .
-
-An
-.B epoll
-set is connected to a file descriptor created by
-.BR epoll_create (2) .
-Interest for certain file descriptors is then registered via$
-.BR epoll_ctl(2) .
-Finally, the actual wait is started by$
-.BR epoll_wait (2) .
-
-.SH NOTES
-The
-.B epoll
-event distribution interface is able to behave both as Edge Triggered
-( ET ) and Level Triggered ( LT ). The difference between ET and LT
-event distribution mechanism can be described as follows. Suppose that
-this scenario happens :
-.TP
-.B 1
-The file descriptor that represent the read side of a pipe (
-.B RFD
-) is added inside the
-.B epoll
-device.
-.TP
-.B 2
-Pipe writer writes 2Kb of data on the write side of the pipe.
-.TP
-.B 3
-A call to
-.BR epoll_wait (2)
-is done that will return
-.B RFD
-as ready file descriptor.
-.TP
-.B 4
-The pipe reader reads 1Kb of data from
-.BR RFD .
-.TP
-.B 5
-A call to
-.BR epoll_wait (2)
-is done.
-.PP
-
-If the
-.B RFD
-file descriptor has been added to the
-.B epoll
-interface using the
-.B EPOLLET
-flag, the call to
-.BR epoll_wait (2)
-done in step
-.B 5
-will probably hang because of the available data still present in the file
-input buffers and the remote peer might be expecting a response based on the
-data it already sent. The reason for this is that Edge Triggered event
-distribution delivers events only when events happens on the monitored file.
-So, in step
-.B 5
-the caller might end up waiting for some data that is already present inside
-the input buffer. In the above example, an event on
-.B RFD
-will be generated because of the write done in
-.B 2
-, and the event is consumed in
-.BR 3 .
-Since the read operation done in
-.B 4
-does not consume the whole buffer data, the call to
-.BR epoll_wait (2)
-done in step
-.B 5
-might lock indefinitely. The
-.B epoll
-interface, when used with the
-.B EPOLLET
-flag ( Edge Triggered )
-should use non-blocking file descriptors to avoid having a blocking
-read or write starve the task that is handling multiple file descriptors.
-The suggested way to use
-.B epoll
-as an Edge Triggered (
-.B EPOLLET
-) interface is below, and possible pitfalls to avoid follow.
-.SR
-.TP$
-.B i
-with non-blocking file descriptors
-.TP$
-.B ii
-by going to wait for an event only after
-.BR read (2)
-or$
-.BR write (2)
-return EAGAIN
-.SE
-.PP
-On the contrary, when used as a Level Triggered interface,
-.B epoll
-is by all means a faster
-.BR poll (2),
-and can be used wherever the latter is used since it shares the
-same semantics. Since even with the Edge Triggered
-.B epoll
-multiple events can be generated up on receival of multiple chunks of data,
-the caller has the option to specify the
-.B EPOLLONESHOT
-flag, to tell
-.B epoll
-to disable the associated file descriptor after the receival of an event with
-.BR epoll_wait (2).
-When the
-.B EPOLLONESHOT
-flag is specified, it is caller responsibility to rearm the file descriptor using
-.BR epoll_ctl (2)
-with
-.BR EPOLL_CTL_MOD.
-
-.SH EXAMPLE FOR SUGGESTED USAGE
-
-While the usage of
-.B epoll
-when employed like a Level Triggered interface does have the same
-semantics of
-.BR poll (2),
-an Edge Triggered usage requires more clarifiction to avoid stalls
-in the application event loop. In this example, listener is a
-non-blocking socket on which
-.BR listen (2)
-has been called. The function do_use_fd() uses the new ready
-file descriptor until EAGAIN is returned by either
-.BR read (2)
-or
-.BR write (2).
-An event driven state machine application should, after having received
-EAGAIN, record its current state so that at the next call to do_use_fd()
-it will continue to
-.BR read (2)
-or
-.BR write (2)
-from where it stopped before. $
-
-.nf
-struct epoll_event ev, *events;
-
-for(;;) {
-    nfds = epoll_wait(kdpfd, events, maxevents, -1);
-
-    for(n = 0; n < nfds; ++n) {
-        if(events[n].data.fd == listener) {
-            client = accept(listener, (struct sockaddr *) &local,
-                            &addrlen);
-            if(client < 0){
-                perror("accept");
-                continue;
-            }
-            setnonblocking(client);
-            ev.events = EPOLLIN | EPOLLET;
-            ev.data.fd = client;
-            if (epoll_ctl(kdpfd, EPOLL_CTL_ADD, client, &ev) < 0) {
-                fprintf(stderr, "epoll set insertion error: fd=%d\n",
-                        client);
-                return -1;
-            }
-        }
-        else
-            do_use_fd(events[n].data.fd);
-    }
-}
-.fi
-
-When used as an Edge triggered interface, for performance reasons, it is
-possible to add the file descriptor inside the epoll interface (
-.B EPOLL_CTL_ADD
-) once by specifying (
-.BR EPOLLIN | EPOLLOUT
-). This allows you to avoid
-continuously switching between
-.B EPOLLIN
-and
-.B EPOLLOUT
-calling
-.BR epoll_ctl (2)
-with
-.BR EPOLL_CTL_MOD .
-
-.SH QUESTIONS AND ANSWERS (from linux-kernel)
-
-.SR
-.TP$
-.B Q1$
-What happens if you add the same fd to an epoll_set twice?
-.TP
-.B A1$
-You will probably get EEXIST. However, it is possible that two
-threads may add the same fd twice. This is a harmless condition.
-.TP
-.B Q2$
-Can two
-.B epoll
-sets wait for the same fd? If so, are events reported
-to both
-.B epoll
-sets fds?
-.TP
-.B A2
-Yes. However, it is not recommended. Yes it would be reported to both.
-.TP
-.B Q3
-Is the
-.B epoll
-fd itself poll/epoll/selectable?
-.TP
-.B A3
-Yes.
-.TP
-.B Q4$
-What happens if the
-.B epoll
-fd is put into its own fd set?
-.TP
-.B A4
-It will fail. However, you can add an
-.B epoll
-fd inside another epoll fd set.$
-.TP
-.B Q5
-Can I send the
-.B epoll
-fd over a unix-socket to another process?
-.TP
-.B A5
-No.
-.TP
-.B Q6
-Will the close of an fd cause it to be removed from all
-.B epoll
-sets automatically?
-.TP
-.B A6
-Yes.
-.TP
-.B Q7$
-If more than one event comes in between
-.BR epoll_wait (2)
-calls, are they combined or reported separately?
-.TP
-.B A7
-They will be combined.
-.TP
-.B Q8
-Does an operation on an fd affect the already collected but not yet reported
-events?
-.TP
-.B A8
-You can do two operations on an existing fd. Remove would be meaningless for
-this case. Modify will re-read available I/O.
-.TP
-.B Q9
-Do I need to continuously read/write an fd until EAGAIN when using the
-.B EPOLLET
-flag ( Edge Triggered behaviour ) ?
-.TP
-.B A9
-No you don't. Receiving an event from
-.BR epoll_wait (2)
-should suggest to you that such file descriptor is ready for the requested I/O
-operation. You have simply to consider it ready until you will receive the
-next EAGAIN. When and how you will use such file descriptor is entirely up
-to you. Also, the condition that the read/write I/O space is exhausted can
-be detected by checking the amount of data read/write from/to the target
-file descriptor. For example, if you call
-.BR read (2)
-by asking to read a certain amount of data and
-.BR read (2)
-returns a lower number of bytes, you can be sure to have exhausted the read
-I/O space for such file descriptor. Same is valid when writing using the
-.BR write (2)
-function.
-.SE
-
-.SH POSSIBLE PITFALLS AND WAYS TO AVOID THEM
-.SR
-.TP
-.B o Starvation ( Edge Triggered )
-.PP
-If there is a large amount of I/O space, it is possible that by trying to drain
-it the other files will not get processed causing starvation. This
-is not specific to
-.BR epoll .
-.PP
-.PP
-The solution is to maintain a ready list and mark the file descriptor as ready
-in its associated data structure, thereby allowing the application to
-remember which files need to be processed but still round robin amongst
-all the ready files. This also supports ignoring subsequent events you
-receive for fd's that are already ready.
-.PP
-
-.TP
-.B o If using an event cache... $
-.PP
-If you use an event cache or store all the fd's returned from
-.BR epoll_wait (2),
-then make sure to provide a way to mark its closure dynamically (ie- caused by$
-a previous event's processing). Suppose you receive 100 events from$
-.BR epoll_wait (2),
-and in eventi #47 a condition causes event #13 to be closed.$
-If you remove the structure and close() the fd for event #13, then your$
-event cache might still say there are events waiting for that fd causing$
-confusion.
-.PP
-.PP$
-One solution for this is to call, during the processing of event 47,
-.BR epoll_ctl ( EPOLL_CTL_DEL )
-to delete fd 13 and close(), then mark its associated
-data structure as removed and link it to a cleanup list. If you find another
-event for fd 13 in your batch processing, you will discover the fd had been
-previously removed and there will be no confusion.
-.PP
-
-.SE
-.SH CONFORMING TO
-.BR epoll (4)
-is a new API introduced in Linux kernel
-.BR 2.5.44 .
-Its interface should be finalized in Linux kernel
-.BR 2.5.66 .
-.SH "SEE ALSO"
-.BR epoll_create (2)
-.BR epoll_ctl (2)
-.BR epoll_wait (2)
-
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll.ps b/testcases/kernel/syscalls/epoll2/man/epoll.ps
deleted file mode 100644
index eb88411e4..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll.ps
+++ /dev/null
@@ -1,604 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.18.1
-%%CreationDate: Mon Feb 16 19:03:38 2004
-%%DocumentNeededResources: font Times-Roman
-%%+ font Times-Bold
-%%DocumentSuppliedResources: procset grops 1.18 1
-%%Pages: 3
-%%PageOrder: Ascend
-%%Orientation: Portrait
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset grops 1.18 1
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}bind def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/Fr{
-setrgbcolor fill
-}bind def
-/Fk{
-setcmykcolor fill
-}bind def
-/Fg{
-setgray fill
-}bind def
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/Ck/setcmykcolor load def
-/Cg/setgray load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-}bind def
-/PEND{
-clear
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
-/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 130.68<45504f4c4c283429204c696e7578>72 48 R
-<50726f6772616d6d657227>2.5 E 2.5<734d>-.55 G 130.68
-<616e75616c2045504f4c4c283429>-2.5 F/F1 10.95/Times-Bold@0 SF -.219
-<4e41>72 84 S<4d45>.219 E F0<65706f6c6c20ad20492f4f2065>108 96 Q -.15
-<7665>-.25 G<6e74206e6f74698c636174696f6e2066>.15 E<6163696c697479>-.1 E
-F1<53594e4f50534953>72 112.8 Q/F2 10/Times-Bold@0 SF
-<23696e636c756465203c7379732f65706f6c6c2e683e>108 124.8 Q F1
-<4445534352495054494f4e>72 141.6 Q F2<65706f6c6c>108 153.6 Q F0 .521
-<697320612076>3.021 F .521<617269616e74206f66>-.25 F F2<706f6c6c>3.021 E
-F0 .521<28322920746861742063616e2062652075736564206569746865722061732045
-646765206f72204c65>B -.15<7665>-.25 G 3.021<6c54>.15 G .521
-<726967676572656420696e74657266>-3.371 F .521
-<61636520616e64207363616c65732077656c6c20746f>-.1 F<6c6172>108 165.6 Q
-.103<6765206e756d62657273206f662077>-.18 F .103<617463686564206664732e20
-54687265652073797374656d2063616c6c73206172652070726f>-.1 F .103
-<766964656420746f2073657420757020616e6420636f6e74726f6c20616e>-.15 F F2
-<65706f6c6c>2.604 E F0<7365743a>2.604 E F2<65706f6c6c5f6372>2.604 E
-<652d>-.18 E<617465>108 177.6 Q F0<283229>A F2 2.5<2c65>C
-<706f6c6c5f63746c>-2.5 E F0<283229>A F2 2.5<2c65>C<706f6c6c5f77616974>
--2.5 E F0<283229>A F2<2e>A F0<416e>108 201.6 Q F2<65706f6c6c>2.712 E F0
-.212<73657420697320636f6e6e656374656420746f2061208c6c652064657363726970
-746f722063726561746564206279>2.712 F F2<65706f6c6c5f6372>2.712 E
-<65617465>-.18 E F0<283229>A F2<2e>A F0 .212<496e74657265737420666f7220
-6365727461696e208c6c652064657363726970746f7273>5.212 F
-<6973207468656e207265>108 213.6 Q<676973746572656420766961>-.15 E F2
-<65706f6c6c5f63746c283229>2.5 E F0 5<2e46>C<696e616c6c79>-5 E 2.5<2c74>
--.65 G<68652061637475616c2077>-2.5 E<6169742069732073746172746564206279>
--.1 E F2<65706f6c6c5f77616974>2.5 E F0<283229>A F2<2e>A F1<4e4f>72 242.4
-Q<544553>-.438 E F0<546865>108 254.4 Q F2<65706f6c6c>2.679 E F0 -2.15
--.25<65762065>2.679 H .179<6e742064697374726962>.25 F .179
-<7574696f6e20696e74657266>-.2 F .179
-<6163652069732061626c6520746f2062656861>-.1 F .479 -.15<76652062>-.2 H
-.18<6f746820617320456467652054>.15 F .18
-<72696767657265642028204554202920616e64204c65>-.35 F -.15<7665>-.25 G
-2.68<6c54>.15 G .18<72696767657265642028>-3.03 F 2.71 -.92<4c542029>108
-266.4 T 3.37<2e54>.92 G .87<686520646966>-3.37 F .87
-<666572656e6365206265747765656e20455420616e64204c>-.25 F 3.37<5465>-.92
-G -.15<7665>-3.62 G .87<6e742064697374726962>.15 F .87<7574696f6e206d65
-6368616e69736d2063616e2062652064657363726962656420617320666f6c6c6f>-.2 F
-.87<77732e205375702d>-.25 F
-<706f736520746861742074686973207363656e6172696f2068617070656e73203a>108
-278.4 Q F2<31>108 295.2 Q F0<546865208c6c652064657363726970746f72207468
-617420726570726573656e742074686520726561642073696465206f6620612070697065
-2028>31 E F2<524644>2.5 E F0 2.5<2969>2.5 G 2.5<7361>-2.5 G
-<6464656420696e7369646520746865>-2.5 E F2<65706f6c6c>2.5 E F0<6465>2.5 E
-<766963652e>-.25 E F2<32>108 312 Q F0<5069706520777269746572207772697465
-7320324b62206f662064617461206f6e207468652077726974652073696465206f662074
-686520706970652e>31 E F2<33>108 328.8 Q F0 2.5<4163>31 G<616c6c20746f>
--2.5 E F2<65706f6c6c5f77616974>2.5 E F0
-<28322920697320646f6e6520746861742077696c6c2072657475726e>A F2<524644>
-2.5 E F0<6173207265616479208c6c652064657363726970746f72>2.5 E<2e>-.55 E
-F2<34>108 345.6 Q F0<54686520706970652072656164657220726561647320314b62
-206f6620646174612066726f6d>31 E F2<524644>2.5 E F0<2e>A F2<35>108 362.4
-Q F0 2.5<4163>31 G<616c6c20746f>-2.5 E F2<65706f6c6c5f77616974>2.5 E F0
-<28322920697320646f6e652e>A 1.677<496620746865>108 391.2 R F2<524644>
-4.177 E F0 1.678<8c6c652064657363726970746f7220686173206265656e20616464
-656420746f20746865>4.177 F F2<65706f6c6c>4.178 E F0<696e74657266>4.178 E
-1.678<616365207573696e6720746865>-.1 F F2<45504f4c4c4554>4.178 E F0
-1.678<8d61672c207468652063616c6c20746f>4.178 F F2<65706f6c6c5f77616974>
-108 403.2 Q F0 .602<28322920646f6e6520696e2073746570>B F2<35>3.102 E F0
-.602
-<77696c6c2070726f6261626c792068616e672062656361757365206f66207468652061>
-3.102 F -.25<7661>-.2 G .601<696c61626c652064617461207374696c6c20707265
-73656e7420696e20746865208c6c6520696e707574>.25 F -.2<6275>108 415.2 S
--.25<6666>.2 G .289
-<65727320616e64207468652072656d6f74652070656572206d696768742062652065>
-.25 F .289<7870656374696e67206120726573706f6e7365206261736564206f6e2074
-6865206461746120697420616c72656164792073656e742e2054686520726561736f6e20
-666f72>-.15 F .965<74686973206973207468617420456467652054>108 427.2 R
-.965<72696767657265642065>-.35 F -.15<7665>-.25 G .965
-<6e742064697374726962>.15 F .965<7574696f6e2064656c69>-.2 F -.15<7665>
--.25 G .965<72732065>.15 F -.15<7665>-.25 G .965
-<6e7473206f6e6c79207768656e2065>.15 F -.15<7665>-.25 G .964
-<6e74732068617070656e73206f6e20746865206d6f6e69746f726564>.15 F 3.704
-<8c6c652e20536f2c>108 439.2 R 1.204<696e2073746570>3.704 F F2<35>3.704 E
-F0 1.204<7468652063616c6c6572206d6967687420656e642075702077>3.704 F
-1.204<616974696e6720666f7220736f6d652064617461207468617420697320616c7265
-6164792070726573656e7420696e736964652074686520696e707574>-.1 F -.2<6275>
-108 451.2 S -.25<6666>.2 G<6572>.25 E 3.165<2e49>-.55 G 3.165<6e74>
--3.165 G .665<68652061626f>-3.165 F .965 -.15<7665206578>-.15 H .665
-<616d706c652c20616e2065>.15 F -.15<7665>-.25 G .665<6e74206f6e>.15 F F2
-<524644>3.165 E F0 .665<77696c6c2062652067656e65726174656420626563617573
-65206f662074686520777269746520646f6e6520696e>3.165 F F2<32>3.164 E F0
-3.164<2c61>3.164 G .664<6e6420746865>-3.164 F -2.15 -.25<65762065>108
-463.2 T .049<6e7420697320636f6e73756d656420696e>.25 F F2<33>2.549 E F0
-5.049<2e53>C .049
-<696e6365207468652072656164206f7065726174696f6e20646f6e6520696e>-5.049 F
-F2<34>2.549 E F0 .049
-<646f6573206e6f7420636f6e73756d65207468652077686f6c652062>2.549 F<7566>
--.2 E .049<66657220646174612c207468652063616c6c>-.25 F<746f>108 475.2 Q
-F2<65706f6c6c5f77616974>2.604 E F0 .103
-<28322920646f6e6520696e2073746570>B F2<35>2.603 E F0 .103
-<6d69676874206c6f636b20696e64658c6e6974656c79>2.603 F 2.603<2e54>-.65 G
-<6865>-2.603 E F2<65706f6c6c>2.603 E F0<696e74657266>2.603 E .103
-<6163652c207768656e2075736564207769746820746865>-.1 F F2<45504f4c4c4554>
-2.603 E F0 .945<8d6167202820456467652054>108 487.2 R .945<72696767657265
-6420292073686f756c6420757365206e6f6e2d626c6f636b696e67208c6c652064657363
-726970746f727320746f2061>-.35 F -.2<766f>-.2 G .945<6964206861>.2 F .946
-<76696e67206120626c6f636b696e672072656164206f72207772697465>-.2 F
-<7374617276>108 499.2 Q 3.141<6574>-.15 G .641<6865207461736b2074686174
-2069732068616e646c696e67206d756c7469706c65208c6c652064657363726970746f72
-732e>-3.141 F .641<546865207375676765737465642077>5.641 F .64
-<617920746f20757365>-.1 F F2<65706f6c6c>3.14 E F0 .64
-<617320616e20456467652054>3.14 F<7269672d>-.35 E<67657265642028>108
-511.2 Q F2<45504f4c4c4554>2.5 E F0 2.5<2969>2.5 G<6e74657266>-2.5 E
-<6163652069732062656c6f>-.1 E 1.3 -.65<772c2061>-.25 H
-<6e6420706f737369626c652070697466>.65 E<616c6c7320746f2061>-.1 E -.2
-<766f>-.2 G<696420666f6c6c6f>.2 E -.65<772e>-.25 G F2<69>108 528 Q F0
-<77697468206e6f6e2d626c6f636b696e67208c6c652064657363726970746f7273>
-33.22 E F2<6969>108 544.8 Q F0<627920676f696e6720746f2077>30.44 E
-<61697420666f7220616e2065>-.1 E -.15<7665>-.25 G
-<6e74206f6e6c79206166746572>.15 E F2 -.18<7265>2.5 G<6164>.18 E F0
-<283229206f72>A F2<7772697465>2.5 E F0<2832292072657475726e204541>A
-<4741494e>-.4 E .171<4f6e2074686520636f6e7472617279>108 561.6 R 2.671
-<2c77>-.65 G .171<68656e20757365642061732061204c65>-2.671 F -.15<7665>
--.25 G 2.671<6c54>.15 G .171<726967676572656420696e74657266>-3.021 F
-<6163652c>-.1 E F2<65706f6c6c>2.671 E F0 .172
-<697320627920616c6c206d65616e7320612066>2.672 F<6173746572>-.1 E F2
-<706f6c6c>2.672 E F0 .172<2832292c20616e642063616e206265>B 1.204
-<75736564207768657265>108 573.6 R -.15<7665>-.25 G 3.704<7274>.15 G
-1.204<6865206c617474657220697320757365642073696e636520697420736861726573
-207468652073616d652073656d616e746963732e2053696e63652065>-3.704 F -.15
-<7665>-.25 G 3.703<6e77>.15 G 1.203<6974682074686520456467652054>-3.703
-F<7269676765726564>-.35 E F2<65706f6c6c>108 585.6 Q F0 .068
-<6d756c7469706c652065>2.568 F -.15<7665>-.25 G .068
-<6e74732063616e2062652067656e657261746564207570206f6e207265636569>.15 F
--.25<7661>-.25 G 2.568<6c6f>.25 G 2.568<666d>-2.568 G .069<756c7469706c
-65206368756e6b73206f6620646174612c207468652063616c6c65722068617320746865
-206f7074696f6e20746f>-2.568 F .529<7370656369667920746865>108 597.6 R F2
-<45504f4c4c4f4e4553484f>3.029 E<54>-.4 E F0 .529
-<8d61672c20746f2074656c6c>3.029 F F2<65706f6c6c>3.029 E F0 .528<746f2064
-697361626c6520746865206173736f636961746564208c6c652064657363726970746f72
-20616674657220746865207265636569>3.029 F -.25<7661>-.25 G<6c>.25 E .112
-<6f6620616e2065>108 609.6 R -.15<7665>-.25 G .112<6e742077697468>.15 F
-F2<65706f6c6c5f77616974>2.612 E F0 2.612<2832292e205768656e>B<746865>
-2.613 E F2<45504f4c4c4f4e4553484f>2.613 E<54>-.4 E F0 .113<8d6167206973
-2073706563698c65642c2069742069732063616c6c657220726573706f6e736962696c69
-747920746f>2.613 F
-<726561726d20746865208c6c652064657363726970746f72207573696e67>108 621.6
-Q F2<65706f6c6c5f63746c>2.5 E F0<2832292077697468>A F2
-<45504f4c4c5f43544c5f4d4f44>2.5 E<2e>-.2 E F1
-<4558414d504c4520464f522053554747455354454420555341>72 650.4 Q<4745>
--.602 E F0 .419<5768696c6520746865207573616765206f66>108 662.4 R F2
-<65706f6c6c>2.919 E F0 .418<7768656e20656d706c6f>2.918 F .418
-<796564206c696b>-.1 F 2.918<65614c>-.1 G -2.15 -.25<65762065>-2.918 H
-2.918<6c54>.25 G .418<726967676572656420696e74657266>-3.268 F .418
-<61636520646f6573206861>-.1 F .718 -.15<76652074>-.2 H .418
-<68652073616d652073656d616e74696373206f66>.15 F F2<706f6c6c>108 674.4 Q
-F0 .582<2832292c20616e20456467652054>B .582<7269676765726564207573616765
-207265717569726573206d6f726520636c6172698c6374696f6e20746f2061>-.35 F
--.2<766f>-.2 G .583
-<6964207374616c6c7320696e20746865206170706c69636174696f6e2065>.2 F -.15
-<7665>-.25 G .583<6e74206c6f6f702e20496e>.15 F 3.618<746869732065>108
-686.4 R 3.617<78616d706c652c206c697374656e65722069732061206e6f6e2d626c6f
-636b696e6720736f636b>-.15 F 3.617<6574206f6e207768696368>-.1 F F2
-<6c697374656e>6.117 E F0 3.617
-<28322920686173206265656e2063616c6c65642e205468652066756e6374696f6e>B
-.218<646f5f7573655f66642829207573657320746865206e65>108 698.4 R 2.718
-<7772>-.25 G .218
-<65616479208c6c652064657363726970746f7220756e74696c204541>-2.718 F .218
-<4741494e2069732072657475726e656420627920656974686572>-.4 F F2 -.18
-<7265>2.718 G<6164>.18 E F0 .218<283229206f72>B F2<7772697465>2.719 E F0
-2.719<2832292e20416e>B -2.15 -.25<65762065>108 710.4 T 1.073
-<6e7420647269>.25 F -.15<7665>-.25 G 3.573<6e73>.15 G 1.072<74617465206d
-616368696e65206170706c69636174696f6e2073686f756c642c206166746572206861>
--3.573 F 1.072<76696e67207265636569>-.2 F -.15<7665>-.25 G 3.572<6445>
-.15 G -.4<4147>-3.572 G 1.072
-<41494e2c207265636f7264206974732063757272656e7420737461746520736f>.4 F
-<7468617420617420746865206e65>108 722.4 Q<78742063616c6c20746f20646f5f75
-73655f666428292069742077696c6c20636f6e74696e756520746f>-.15 E F2 -.18
-<7265>2.5 G<6164>.18 E F0<283229206f72>A F2<7772697465>2.5 E F0
-<2832292066726f6d2077686572652069742073746f70706564206265666f72652e>A
-174.005<4c696e7578203233>72 768 R<4f63746f6265722032303032>2.5 E<31>
-195.395 E 0 Cg EP
-%%Page: 2 2
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 130.68<45504f4c4c283429204c696e7578>72 48 R
-<50726f6772616d6d657227>2.5 E 2.5<734d>-.55 G 130.68
-<616e75616c2045504f4c4c283429>-2.5 F<7374727563742065706f6c6c5f65>108 84
-Q -.15<7665>-.25 G<6e742065>.15 E 1.3 -.65<762c202a>-.25 H -2.15 -.25
-<65762065>.65 H<6e74733b>.25 E<666f72283b3b29207b>108 108 Q
-<6e666473203d2065706f6c6c5f77>118 120 Q<616974286b647066642c2065>-.1 E
--.15<7665>-.25 G<6e74732c206d6178>.15 E -2.15 -.25<65762065>-.15 H
-<6e74732c202d31293b>.25 E
-<666f72286e203d20303b206e203c206e6664733b202b2b6e29207b>118 144 Q
-<69662865>128 156 Q -.15<7665>-.25 G
-<6e74735b6e5d2e646174612e6664203d3d206c697374656e657229207b>.15 E
-<636c69656e74203d20616363657074286c697374656e6572>138 168 Q 2.5<2c28>-.4
-G<73747275637420736f636b61646472202a2920266c6f63616c2c>-2.5 E
-<26616464726c656e293b>178 180 Q<696628636c69656e74203c2030297b>138 192 Q
-<706572726f72282261636365707422293b>148 204 Q<636f6e74696e75653b>148 216
-Q<7d>138 228 Q<7365746e6f6e626c6f636b696e6728636c69656e74293b>138 240 Q
--.25<6576>138 252 S<2e65>-.4 E -.15<7665>-.25 G
-<6e7473203d2045504f4c4c494e207c2045504f4c4c4554>.15 E<3b>-.55 E -.25
-<6576>138 264 S<2e646174612e6664203d20636c69656e743b>-.4 E<696620286570
-6f6c6c5f63746c286b647066642c2045504f4c4c5f43544c5f4144442c20636c69656e74
-2c202665>138 276 Q<7629203c203029207b>-.25 E
-<667072696e746628737464657272>148 288 Q 2.5<2c22>-.4 G
-<65706f6c6c2073657420696e73657274696f6e206572726f723a2066643d2564302c>
--2.5 E<636c69656e74293b>168 300 Q<72657475726e202d313b>148 312 Q<7d>138
-324 Q<7d>128 336 Q<656c7365>128 348 Q<646f5f7573655f66642865>138 360 Q
--.15<7665>-.25 G<6e74735b6e5d2e646174612e6664293b>.15 E<7d>118 372 Q<7d>
-108 384 Q .505<5768656e207573656420617320616e20456467652074726967676572
-656420696e74657266>108 408 R .505<6163652c20666f7220706572666f726d616e63
-6520726561736f6e732c20697420697320706f737369626c6520746f2061646420746865
-208c6c652064657363726970746f72>-.1 F 1.206
-<696e73696465207468652065706f6c6c20696e74657266>108 420 R 1.206
-<6163652028>-.1 F/F1 10/Times-Bold@0 SF<45504f4c4c5f43544c5f414444>3.706
-E F0 3.705<296f>3.705 G 1.205<6e63652062792073706563696679696e672028>
--3.705 F F1<45504f4c4c494e>3.705 E F0<7c>A F1<45504f4c4c4f5554>A F0
-1.205<292e2054686973>3.705 F<616c6c6f>108 432 Q 1.831
-<777320796f7520746f2061>-.25 F -.2<766f>-.2 G 1.832
-<696420636f6e74696e756f75736c7920737769746368696e67206265747765656e>.2 F
-F1<45504f4c4c494e>4.332 E F0<616e64>4.332 E F1<45504f4c4c4f5554>4.332 E
-F0<63616c6c696e67>4.332 E F1<65706f6c6c5f63746c>4.332 E F0<283229>A
-<77697468>108 444 Q F1<45504f4c4c5f43544c5f4d4f44>2.5 E F0<2e>A/F2 10.95
-/Times-Bold@0 SF -.11<5155>72 472.8 S
-<455354494f4e5320414e4420414e535745525320286672>.11 E
-<6f6d206c696e75782d6b>-.197 E<6572>-.11 E<6e656c29>-.164 E F1<5131>108
-484.8 Q F0<576861742068617070656e7320696620796f752061646420746865207361
-6d6520666420746f20616e2065706f6c6c5f7365742074776963653f>23.22 E F1
-<4131>108 501.6 Q F0 -1.1<596f>23.78 G 4.107<7577>1.1 G 1.607
-<696c6c2070726f6261626c792067657420454558495354>-4.107 F 4.106<2e48>-.74
-G -.25<6f77>-4.106 G -2.15 -.25<65762065>.25 H 2.406 -.4<722c2069>.25 H
-4.106<7469>.4 G 4.106<7370>-4.106 G 1.606
-<6f737369626c652074686174207477>-4.106 F 4.106<6f74>-.1 G 1.606
-<687265616473206d617920616464207468652073616d65206664>-4.106 F<74776963
-652e20546869732069732061206861726d6c65737320636f6e646974696f6e2e>144
-513.6 Q F1<5132>108 530.4 Q F0<43616e207477>23.22 E<6f>-.1 E F1
-<65706f6c6c>2.5 E F0<736574732077>2.5 E
-<61697420666f72207468652073616d652066643f20496620736f2c206172652065>-.1
-E -.15<7665>-.25 G<6e7473207265706f7274656420746f20626f7468>.15 E F1
-<65706f6c6c>2.5 E F0<73657473206664733f>2.5 E F1<4132>108 547.2 Q F0 -1
-<5965>23.78 G<732e20486f>1 E<7765>-.25 E -.15<7665>-.25 G .8 -.4
-<722c2069>.15 H 2.5<7469>.4 G 2.5<736e>-2.5 G
-<6f74207265636f6d6d656e6465642e2059>-2.5 E<65732069742077>-1 E
-<6f756c64206265207265706f7274656420746f20626f74682e>-.1 E F1<5133>108
-564 Q F0<497320746865>23.22 E F1<65706f6c6c>2.5 E F0
-<666420697473656c6620706f6c6c2f65706f6c6c2f73656c65637461626c653f>2.5 E
-F1<4133>108 580.8 Q F0 -1<5965>23.78 G<732e>1 E F1<5134>108 597.6 Q F0
-<576861742068617070656e7320696620746865>23.22 E F1<65706f6c6c>2.5 E F0
-<66642069732070757420696e746f20697473206f>2.5 E<776e206664207365743f>
--.25 E F1<4134>108 614.4 Q F0<49742077696c6c2066>23.78 E<61696c2e20486f>
--.1 E<7765>-.25 E -.15<7665>-.25 G .8 -.4<722c2079>.15 H
-<6f752063616e2061646420616e>.4 E F1<65706f6c6c>2.5 E F0
-<666420696e7369646520616e6f746865722065706f6c6c206664207365742e>2.5 E F1
-<5135>108 631.2 Q F0<43616e20492073656e6420746865>23.22 E F1<65706f6c6c>
-2.5 E F0<6664206f>2.5 E -.15<7665>-.15 G 2.5<726175>.15 G
-<6e69782d736f636b>-2.5 E<657420746f20616e6f746865722070726f636573733f>
--.1 E F1<4135>108 648 Q F0<4e6f2e>23.78 E F1<5136>108 664.8 Q F0 -.4
-<5769>23.22 G<6c6c2074686520636c6f7365206f6620616e2066642063617573652069
-7420746f2062652072656d6f>.4 E -.15<7665>-.15 G 2.5<6466>.15 G
-<726f6d20616c6c>-2.5 E F1<65706f6c6c>2.5 E F0
-<73657473206175746f6d61746963616c6c793f>2.5 E F1<4136>108 681.6 Q F0 -1
-<5965>23.78 G<732e>1 E F1<5137>108 698.4 Q F0 .258
-<4966206d6f7265207468616e206f6e652065>23.22 F -.15<7665>-.25 G .258
-<6e7420636f6d657320696e206265747765656e>.15 F F1<65706f6c6c5f77616974>
-2.758 E F0 .258<2832292063616c6c732c2061726520746865>B 2.758<7963>-.15 G
-.258<6f6d62696e6564206f72207265706f7274656420736570612d>-2.758 F
-<726174656c793f>144 710.4 Q 174.005<4c696e7578203233>72 768 R
-<4f63746f6265722032303032>2.5 E<32>195.395 E 0 Cg EP
-%%Page: 3 3
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 130.68<45504f4c4c283429204c696e7578>72 48 R
-<50726f6772616d6d657227>2.5 E 2.5<734d>-.55 G 130.68
-<616e75616c2045504f4c4c283429>-2.5 F/F1 10/Times-Bold@0 SF<4137>108 84 Q
-F0<546865>23.78 E 2.5<7977>-.15 G<696c6c20626520636f6d62696e65642e>-2.5
-E F1<5138>108 100.8 Q F0
-<446f657320616e206f7065726174696f6e206f6e20616e206664206166>23.22 E
-<666563742074686520616c726561647920636f6c6c65637465642062>-.25 E
-<7574206e6f7420796574207265706f727465642065>-.2 E -.15<7665>-.25 G
-<6e74733f>.15 E F1<4138>108 117.6 Q F0 -1.1<596f>23.78 G 2.814<7563>1.1
-G .314<616e20646f207477>-2.814 F 2.814<6f6f>-.1 G .314
-<7065726174696f6e73206f6e20616e2065>-2.814 F .314
-<78697374696e672066642e2052656d6f>-.15 F .614 -.15<76652077>-.15 H .313<
-6f756c64206265206d65616e696e676c65737320666f72207468697320636173652e204d
-6f64696679>.05 F<77696c6c2072652d726561642061>144 129.6 Q -.25<7661>-.2
-G<696c61626c6520492f4f2e>.25 E F1<5139>108 146.4 Q F0 .367<446f2049206e
-65656420746f20636f6e74696e756f75736c7920726561642f777269746520616e206664
-20756e74696c204541>23.22 F .368<4741494e207768656e207573696e6720746865>
--.4 F F1<45504f4c4c4554>2.868 E F0 .368<8d616720282045646765>2.868 F
--.35<5472>144 158.4 S<696767657265642062656861>.35 E<76696f75722029203f>
--.2 E F1<4139>108 175.2 Q F0 .273<4e6f20796f7520646f6e27>23.78 F .273
-<742e205265636569>-.18 F .273<76696e6720616e2065>-.25 F -.15<7665>-.25 G
-.273<6e742066726f6d>.15 F F1<65706f6c6c5f77616974>2.773 E F0 .272<283229
-2073686f756c64207375676765737420746f20796f7520746861742073756368208c6c65
-20646573637269702d>B 1.029<746f7220697320726561647920666f72207468652072
-657175657374656420492f4f206f7065726174696f6e2e2059>144 187.2 R 1.029
-<6f75206861>-1.1 F 1.329 -.15<76652073>-.2 H 1.03<696d706c7920746f20636f
-6e736964657220697420726561647920756e74696c20796f752077696c6c>.15 F
-<7265636569>144 199.2 Q 1.038 -.15<76652074>-.25 H .738<6865206e65>.15 F
-.738<7874204541>-.15 F .738<4741494e2e205768656e20616e6420686f>-.4 F
-3.238<7779>-.25 G .737<6f752077696c6c207573652073756368208c6c6520646573
-63726970746f7220697320656e746972656c7920757020746f20796f752e>-3.238 F
-1.489<416c736f2c2074686520636f6e646974696f6e2074686174207468652072656164
-2f777269746520492f4f2073706163652069732065>144 211.2 R 1.49<786861757374
-65642063616e20626520646574656374656420627920636865636b696e6720746865>
--.15 F 1.134<616d6f756e74206f66206461746120726561642f77726974652066726f
-6d2f746f2074686520746172>144 223.2 R 1.133
-<676574208c6c652064657363726970746f72>-.18 F 3.633<2e46>-.55 G 1.133
-<6f722065>-3.783 F 1.133<78616d706c652c20696620796f752063616c6c>-.15 F
-F1 -.18<7265>3.633 G<6164>.18 E F0 1.133<283229206279>B .686<61736b696e
-6720746f20726561642061206365727461696e20616d6f756e74206f6620646174612061
-6e64>144 235.2 R F1 -.18<7265>3.187 G<6164>.18 E F0 .687
-<2832292072657475726e732061206c6f>B .687
-<776572206e756d626572206f662062797465732c20796f752063616e206265>-.25 F
-.009<7375726520746f206861>144 247.2 R .309 -.15<7665206578>-.2 H .009<68
-61757374656420746865207265616420492f4f20737061636520666f722073756368208c
-6c652064657363726970746f72>.15 F 2.509<2e53>-.55 G .009
-<616d652069732076>-2.509 F .008
-<616c6964207768656e2077726974696e67207573696e67>-.25 F<746865>144 259.2
-Q F1<7772697465>2.5 E F0<2832292066756e6374696f6e2e>A/F2 10.95
-/Times-Bold@0 SF<504f535349424c452050495446>72 288 Q
-<414c4c5320414e442057>-.986 E -1.095<4159>-1.314 G 2.738<5354>1.095 G
-2.738<4f41>-2.935 G -.493<564f>-4.326 G<4944205448454d>.493 E F1 2.5
-<6f53>108 300 S<746172>-2.5 E -.1<7661>-.1 G<74696f6e202820456467652054>
-.1 E<726967676572>-.74 E<65642029>-.18 E F0 .15
-<49662074686572652069732061206c6172>108 316.8 R .15<676520616d6f756e7420
-6f6620492f4f2073706163652c20697420697320706f737369626c652074686174206279
-20747279696e6720746f20647261696e20697420746865206f74686572208c6c65732077
-696c6c206e6f74206765742070726f2d>-.18 F
-<6365737365642063617573696e67207374617276>108 328.8 Q
-<6174696f6e2e2054686973206973206e6f742073706563698c6320746f>-.25 E F1
-<65706f6c6c>2.5 E F0<2e>A .284<54686520736f6c7574696f6e20697320746f206d
-61696e7461696e2061207265616479206c69737420616e64206d61726b20746865208c6c
-652064657363726970746f7220617320726561647920696e20697473206173736f636961
-7465642064617461207374727563747572652c>108 350.4 R 2.407
-<7468657265627920616c6c6f>108 362.4 R 2.407<77696e6720746865206170706c69
-636174696f6e20746f2072656d656d626572207768696368208c6c6573206e6565642074
-6f2062652070726f6365737365642062>-.25 F 2.408
-<7574207374696c6c20726f756e6420726f62696e>-.2 F 1.62<616d6f6e6773742061
-6c6c20746865207265616479208c6c65732e205468697320616c736f20737570706f7274
-732069676e6f72696e672073756273657175656e742065>108 374.4 R -.15<7665>
--.25 G 1.619<6e747320796f75207265636569>.15 F 1.919 -.15<76652066>-.25 H
-1.619<6f7220666427>.15 F 4.119<7374>-.55 G 1.619<68617420617265>-4.119 F
-<616c7265616479207265616479>108 386.4 Q<2e>-.65 E F1 2.5<6f49>108 420 S
-2.5<6675>-2.5 G<73696e6720616e2065>-2.5 E -.1<7665>-.15 G
-<6e742063616368652e2e2e>.1 E F0 .156<496620796f752075736520616e2065>108
-436.8 R -.15<7665>-.25 G .156
-<6e74206361636865206f722073746f726520616c6c2074686520666427>.15 F 2.657
-<7372>-.55 G .157<657475726e65642066726f6d>-2.657 F F1
-<65706f6c6c5f77616974>2.657 E F0 .157<2832292c207468656e206d616b>B 2.657
-<6573>-.1 G .157<75726520746f2070726f>-2.657 F .157<7669646520612077>
--.15 F<6179>-.1 E 1.32<746f206d61726b2069747320636c6f737572652064796e61
-6d6963616c6c79202869652d20636175736564206279206120707265>108 448.8 R
-1.319<76696f75732065>-.25 F -.15<7665>-.25 G<6e7427>.15 E 3.819<7370>
--.55 G 1.319<726f63657373696e67292e20537570706f736520796f75207265636569>
--3.819 F 1.619 -.15<76652031>-.25 H<3030>.15 E -2.15 -.25<65762065>108
-460.8 T .398<6e74732066726f6d>.25 F F1<65706f6c6c5f77616974>2.898 E F0
-.399<2832292c20616e6420696e2065>B -.15<7665>-.25 G .399
-<6e746920233437206120636f6e646974696f6e206361757365732065>.15 F -.15
-<7665>-.25 G .399<6e742023313320746f20626520636c6f7365642e>.15 F .399
-<496620796f752072656d6f>5.399 F .699 -.15<76652074>-.15 H<6865>.15 E
-.355
-<73747275637475726520616e6420636c6f736528292074686520666420666f722065>
-108 472.8 R -.15<7665>-.25 G .354
-<6e74202331332c207468656e20796f75722065>.15 F -.15<7665>-.25 G .354<6e74
-206361636865206d69676874207374696c6c20736179207468657265206172652065>.15
-F -.15<7665>-.25 G .354<6e74732077>.15 F .354<616974696e6720666f72>-.1 F
-<746861742066642063617573696e6720636f6e667573696f6e2e>108 484.8 Q .365<
-4f6e6520736f6c7574696f6e20666f72207468697320697320746f2063616c6c2c206475
-72696e67207468652070726f63657373696e67206f662065>108 506.4 R -.15<7665>
--.25 G .365<6e742034372c>.15 F F1<65706f6c6c5f63746c>2.865 E F0<28>A F1
-<45504f4c4c5f43544c5f44454c>A F0 2.865<2974>C 2.865<6f64>-2.865 G
-<656c657465>-2.865 E .153<666420313320616e6420636c6f736528292c207468656e
-206d61726b20697473206173736f63696174656420646174612073747275637475726520
-61732072656d6f>108 518.4 R -.15<7665>-.15 G 2.652<6461>.15 G .152<6e6420
-6c696e6b20697420746f206120636c65616e7570206c6973742e20496620796f75208c6e
-64>-2.652 F .2<616e6f746865722065>108 530.4 R -.15<7665>-.25 G .2<6e7420
-666f7220666420313320696e20796f75722062617463682070726f63657373696e672c20
-796f752077696c6c20646973636f>.15 F -.15<7665>-.15 G 2.701<7274>.15 G
-.201<686520666420686164206265656e20707265>-2.701 F .201
-<76696f75736c792072656d6f>-.25 F -.15<7665>-.15 G 2.701<6461>.15 G<6e64>
--2.701 E<74686572652077696c6c206265206e6f20636f6e667573696f6e2e>108
-542.4 Q F2<434f4e464f524d494e472054>72 576 Q<4f>-.197 E F1<65706f6c6c>
-108 588 Q F0 .726<2834292069732061206e65>B 3.226<7741>-.25 G .725
-<504920696e74726f647563656420696e204c696e7578206b>-3.226 F<65726e656c>
--.1 E F1<322e352e3434>3.225 E F0 5.725<2e49>C .725<747320696e74657266>
--5.725 F .725
-<6163652073686f756c64206265208c6e616c697a656420696e204c696e7578206b>-.1
-F<65726e656c>-.1 E F1<322e352e3636>108 600 Q F0<2e>A F2
-<53454520414c534f>72 616.8 Q F1<65706f6c6c5f6372>108 628.8 Q<65617465>
--.18 E F0<283229>A F1<65706f6c6c5f63746c>2.5 E F0<283229>A F1
-<65706f6c6c5f77616974>2.5 E F0<283229>A 174.005<4c696e7578203233>72 768
-R<4f63746f6265722032303032>2.5 E<33>195.395 E 0 Cg EP
-%%Trailer
-end
-%%EOF
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll.txt b/testcases/kernel/syscalls/epoll2/man/epoll.txt
deleted file mode 100644
index 5762037ce..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll.txt
+++ /dev/null
@@ -1,225 +0,0 @@
-EPOLL(4)                   Linux Programmer's Manual                  EPOLL(4)
-
-
-
-NAME
-       epoll - I/O event notification facility
-
-SYNOPSIS
-       #include <sys/epoll.h>
-
-DESCRIPTION
-       epoll  is a variant of poll(2) that can be used either as Edge or Level
-       Triggered interface and scales well to large numbers  of  watched  fds.
-       Three  system  calls  are  provided to set up and control an epoll set:
-       epoll_create(2), epoll_ctl(2), epoll_wait(2).
-
-       An epoll set is connected to a file descriptor  created  by  epoll_cre-
-       ate(2).   Interest  for certain file descriptors is then registered via
-       epoll_ctl(2).  Finally, the actual wait is started by epoll_wait(2).
-
-
-NOTES
-       The epoll event distribution interface is able to behave both  as  Edge
-       Triggered  ( ET ) and Level Triggered ( LT ). The difference between ET
-       and LT event distribution mechanism can be described as  follows.  Sup-
-       pose that this scenario happens :
-
-       1      The file descriptor that represent the read side of a pipe ( RFD
-              ) is added inside the epoll device.
-
-       2      Pipe writer writes 2Kb of data on the write side of the pipe.
-
-       3      A call to epoll_wait(2) is done that will return  RFD  as  ready
-              file descriptor.
-
-       4      The pipe reader reads 1Kb of data from RFD.
-
-       5      A call to epoll_wait(2) is done.
-
-
-       If  the RFD file descriptor has been added to the epoll interface using
-       the EPOLLET flag, the call to epoll_wait(2) done in step 5 will  proba-
-       bly  hang because of the available data still present in the file input
-       buffers and the remote peer might be expecting a response based on  the
-       data  it already sent. The reason for this is that Edge Triggered event
-       distribution delivers events only when events happens on the  monitored
-       file.  So, in step 5 the caller might end up waiting for some data that
-       is already present inside the input buffer. In the  above  example,  an
-       event on RFD will be generated because of the write done in 2 , and the
-       event is consumed in 3.  Since the read operation done in  4  does  not
-       consume the whole buffer data, the call to epoll_wait(2) done in step 5
-       might lock indefinitely. The epoll interface, when used with the  EPOL-
-       LET flag ( Edge Triggered ) should use non-blocking file descriptors to
-       avoid having a blocking read or write starve the task that is  handling
-       multiple  file  descriptors.  The suggested way to use epoll as an Edge
-       Triggered ( EPOLLET ) interface is  below,  and  possible  pitfalls  to
-       avoid follow.
-
-       i      with non-blocking file descriptors
-
-       ii     by  going  to  wait  for an event only after read(2) or write(2)
-              return EAGAIN
-
-       On the contrary, when used as a Level Triggered interface, epoll is  by
-       all means a faster poll(2), and can be used wherever the latter is used
-       since it shares the same semantics. Since even with the Edge  Triggered
-       epoll  multiple  events  can  be  generated  up on receival of multiple
-       chunks of data, the caller has the option to specify  the  EPOLLONESHOT
-       flag, to tell epoll to disable the associated file descriptor after the
-       receival of an event with epoll_wait(2).  When the EPOLLONESHOT flag is
-       specified,  it  is  caller  responsibility to rearm the file descriptor
-       using epoll_ctl(2) with EPOLL_CTL_MOD.
-
-
-EXAMPLE FOR SUGGESTED USAGE
-       While the usage of epoll when employed like a Level Triggered interface
-       does  have  the  same  semantics  of  poll(2),  an Edge Triggered usage
-       requires more clarifiction to avoid stalls  in  the  application  event
-       loop.  In this example, listener is a non-blocking socket on which lis-
-       ten(2) has been called. The function do_use_fd()  uses  the  new  ready
-       file descriptor until EAGAIN is returned by either read(2) or write(2).
-       An event driven state machine application should, after having received
-       EAGAIN,  record  its  current  state  so  that  at  the  next  call  to
-       do_use_fd() it will continue to  read(2)  or  write(2)  from  where  it
-       stopped before.
-
-       struct epoll_event ev, *events;
-
-       for(;;) {
-           nfds = epoll_wait(kdpfd, events, maxevents, -1);
-
-           for(n = 0; n < nfds; ++n) {
-               if(events[n].data.fd == listener) {
-                   client = accept(listener, (struct sockaddr *) &local,
-                                   &addrlen);
-                   if(client < 0){
-                       perror("accept");
-                       continue;
-                   }
-                   setnonblocking(client);
-                   ev.events = EPOLLIN | EPOLLET;
-                   ev.data.fd = client;
-                   if (epoll_ctl(kdpfd, EPOLL_CTL_ADD, client, &ev) < 0) {
-                       fprintf(stderr, "epoll set insertion error: fd=%d0,
-                               client);
-                       return -1;
-                   }
-               }
-               else
-                   do_use_fd(events[n].data.fd);
-           }
-       }
-
-       When  used  as an Edge triggered interface, for performance reasons, it
-       is possible to add the file descriptor inside  the  epoll  interface  (
-       EPOLL_CTL_ADD  )  once  by specifying ( EPOLLIN|EPOLLOUT ). This allows
-       you to avoid continuously switching between EPOLLIN and EPOLLOUT  call-
-       ing epoll_ctl(2) with EPOLL_CTL_MOD.
-
-
-QUESTIONS AND ANSWERS (from linux-kernel)
-       Q1     What happens if you add the same fd to an epoll_set twice?
-
-       A1     You  will  probably get EEXIST. However, it is possible that two
-              threads may add the same fd twice. This is a harmless condition.
-
-       Q2     Can  two  epoll  sets  wait  for  the same fd? If so, are events
-              reported to both epoll sets fds?
-
-       A2     Yes. However, it is not recommended. Yes it would be reported to
-              both.
-
-       Q3     Is the epoll fd itself poll/epoll/selectable?
-
-       A3     Yes.
-
-       Q4     What happens if the epoll fd is put into its own fd set?
-
-       A4     It  will  fail.  However, you can add an epoll fd inside another
-              epoll fd set.
-
-       Q5     Can I send the epoll fd over a unix-socket to another process?
-
-       A5     No.
-
-       Q6     Will the close of an fd cause it to be removed  from  all  epoll
-              sets automatically?
-
-       A6     Yes.
-
-       Q7     If more than one event comes in between epoll_wait(2) calls, are
-              they combined or reported separately?
-
-       A7     They will be combined.
-
-       Q8     Does an operation on an fd affect the already collected but  not
-              yet reported events?
-
-       A8     You  can  do  two  operations on an existing fd. Remove would be
-              meaningless for this case. Modify will re-read available I/O.
-
-       Q9     Do I need to continuously read/write an  fd  until  EAGAIN  when
-              using the EPOLLET flag ( Edge Triggered behaviour ) ?
-
-       A9     No  you don't. Receiving an event from epoll_wait(2) should sug-
-              gest to you that such file descriptor is ready for the requested
-              I/O  operation.  You  have simply to consider it ready until you
-              will receive the next EAGAIN. When and how  you  will  use  such
-              file  descriptor is entirely up to you. Also, the condition that
-              the read/write I/O space is exhausted can be detected by  check-
-              ing  the  amount  of  data  read/write  from/to  the target file
-              descriptor. For example, if you call read(2) by asking to read a
-              certain  amount  of  data  and read(2) returns a lower number of
-              bytes, you can be sure to have exhausted the read I/O space  for
-              such  file  descriptor.  Same  is  valid  when writing using the
-              write(2) function.
-
-
-POSSIBLE PITFALLS AND WAYS TO AVOID THEM
-       o Starvation ( Edge Triggered )
-
-       If there is a large amount of I/O space, it is possible that by  trying
-       to  drain it the other files will not get processed causing starvation.
-       This is not specific to epoll.
-
-
-       The solution is to maintain a ready list and mark the  file  descriptor
-       as  ready in its associated data structure, thereby allowing the appli-
-       cation to remember which files need to be  processed  but  still  round
-       robin  amongst  all the ready files. This also supports ignoring subse-
-       quent events you receive for fd's that are already ready.
-
-
-
-       o If using an event cache...
-
-       If you use  an  event  cache  or  store  all  the  fd's  returned  from
-       epoll_wait(2),  then  make  sure  to  provide a way to mark its closure
-       dynamically (ie- caused by a previous event's processing). Suppose  you
-       receive  100  events  from epoll_wait(2), and in eventi #47 a condition
-       causes event #13 to be closed.  If you remove the structure and close()
-       the  fd  for event #13, then your event cache might still say there are
-       events waiting for that fd causing confusion.
-
-
-       One solution for this is to call, during the processing  of  event  47,
-       epoll_ctl(EPOLL_CTL_DEL)  to  delete  fd  13 and close(), then mark its
-       associated data structure as removed and link it to a cleanup list.  If
-       you  find  another  event  for fd 13 in your batch processing, you will
-       discover the fd had been previously removed and there will be no confu-
-       sion.
-
-
-
-CONFORMING TO
-       epoll(4) is a new API introduced in Linux kernel 2.5.44.  Its interface
-       should be finalized in Linux kernel 2.5.66.
-
-SEE ALSO
-       epoll_create(2) epoll_ctl(2) epoll_wait(2)
-
-
-
-
-Linux                           23 October 2002                       EPOLL(4)
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_create.2 b/testcases/kernel/syscalls/epoll2/man/epoll_create.2
deleted file mode 100644
index 5adf957b3..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_create.2
+++ /dev/null
@@ -1,71 +0,0 @@
-.\"
-.\"  epoll by Davide Libenzi ( efficient event notification retrieval )
-.\"  Copyright (C) 2003  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.
-.\"
-.\"  This program is distributed in the hope that it will be useful,
-.\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\"  GNU General Public License for more details.
-.\"
-.\"  You should have received a copy of the GNU General Public License
-.\"  along with this program; if not, write to the Free Software
-.\"  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-.\"
-.\"  Davide Libenzi <davidel@xmailserver.org>
-.\"
-.\"
-.TH EPOLL_CREATE 2 "23 October 2002" Linux "Linux Programmer's Manual"
-.SH NAME
-epoll_create \- open an
-.B epoll
-file descriptor
-.SH SYNOPSIS
-.B #include <sys/epoll.h>
-.sp
-.BR "int epoll_create(int " size )
-.SH DESCRIPTION
-Open an
-.B epoll
-file descriptor by requesting the kernel allocate
-an event backing store dimensioned for
-.I size
-descriptors. The
-.I size
-is not the maximum size of the backing store but
-just a hint to the kernel about how to dimension internal structures.
-The returned file descriptor will be used for all the subsequent calls to the
-.B epoll
-interface. The file descriptor returned by
-.BR epoll_create (2)
-must be closed by using
-.BR close (2).
-.SH "RETURN VALUE"
-When successful,
-.BR epoll_create (2)
-returns a positive integer identifying the descriptor.
-When an error occurs,$
-.BR epoll_create (2)
-returns -1 and
-.I errno
-is set appropriately.
-.SH ERRORS
-.TP
-.B ENOMEM
-There was insufficient memory to create the kernel object.
-.SH CONFORMING TO
-.BR epoll_create (2)
-is a new API introduced in Linux kernel
-.BR 2.5.44 .
-The interface should be finalized by Linux kernel
-.BR 2.5.66 .
-.SH "SEE ALSO"
-.BR epoll (4)
-.BR epoll_ctl (2)
-.BR epoll_wait (2)
-.BR close (2)
-
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_create.ps b/testcases/kernel/syscalls/epoll2/man/epoll_create.ps
deleted file mode 100644
index f2ef7fbea..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_create.ps
+++ /dev/null
@@ -1,270 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.18.1
-%%CreationDate: Mon Feb 16 19:03:38 2004
-%%DocumentNeededResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-%%DocumentSuppliedResources: procset grops 1.18 1
-%%Pages: 1
-%%PageOrder: Ascend
-%%Orientation: Portrait
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset grops 1.18 1
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}bind def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/Fr{
-setrgbcolor fill
-}bind def
-/Fk{
-setcmykcolor fill
-}bind def
-/Fg{
-setgray fill
-}bind def
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/Ck/setcmykcolor load def
-/Cg/setgray load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-}bind def
-/PEND{
-clear
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Times-Italic
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
-/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
-/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF<45504f4c4c5f43524541>72 48 Q 87.9
-<5445283229204c696e7578>-1.11 F<50726f6772616d6d657227>2.5 E 2.5<734d>
--.55 G 87.9<616e75616c2045504f4c4c5f43524541>-2.5 F<5445283229>-1.11 E
-/F1 10.95/Times-Bold@0 SF -.219<4e41>72 84 S<4d45>.219 E F0
-<65706f6c6c5f63726561746520ad206f70656e20616e>108 96 Q/F2 10
-/Times-Bold@0 SF<65706f6c6c>2.5 E F0<8c6c652064657363726970746f72>2.5 E
-F1<53594e4f50534953>72 112.8 Q F2
-<23696e636c756465203c7379732f65706f6c6c2e683e>108 124.8 Q
-<696e742065706f6c6c5f6372>108 148.8 Q<6561746528696e74>-.18 E F0
-<73697a65>2.5 E F2<29>A F1<4445534352495054494f4e>72 165.6 Q F0 .476
-<4f70656e20616e>108 177.6 R F2<65706f6c6c>2.976 E F0 .476
-<8c6c652064657363726970746f722062792072657175657374696e6720746865206b>
-2.976 F .476<65726e656c20616c6c6f6361746520616e2065>-.1 F -.15<7665>-.25
-G .475<6e74206261636b696e672073746f72652064696d656e73696f6e656420666f72>
-.15 F/F3 10/Times-Italic@0 SF<73697a65>3.315 E F0 .177
-<64657363726970746f72732e20546865>108 189.6 R F3<73697a65>3.017 E F0
-.177<6973206e6f7420746865206d6178696d756d2073697a65206f6620746865206261
-636b696e672073746f72652062>2.857 F .178
-<7574206a75737420612068696e7420746f20746865206b>-.2 F .178
-<65726e656c2061626f757420686f>-.1 F 2.678<7774>-.25 G<6f>-2.678 E .893
-<64696d656e73696f6e20696e7465726e616c20737472756374757265732e>108 201.6
-R .892<5468652072657475726e6564208c6c652064657363726970746f722077696c6c
-206265207573656420666f7220616c6c207468652073756273657175656e742063616c6c
-7320746f20746865>5.893 F F2<65706f6c6c>108 213.6 Q F0<696e74657266>2.5 E
-<6163652e20546865208c6c652064657363726970746f722072657475726e6564206279>
--.1 E F2<65706f6c6c5f6372>2.5 E<65617465>-.18 E F0
-<283229206d75737420626520636c6f736564206279207573696e67>A F2<636c6f7365>
-2.5 E F0<2832292e>A F1<52455455524e2056>72 230.4 Q<414c5545>-1.478 E F0
-2.249<5768656e207375636365737366756c2c>108 242.4 R F2<65706f6c6c5f6372>
-4.749 E<65617465>-.18 E F0 2.249
-<2832292072657475726e73206120706f73697469>B 2.549 -.15<76652069>-.25 H
-<6e7465>.15 E 2.249
-<676572206964656e74696679696e67207468652064657363726970746f72>-.15 F
-7.249<2e57>-.55 G 2.25<68656e20616e206572726f72>-7.249 F<6f63637572732c>
-108 254.4 Q F2<65706f6c6c5f6372>2.5 E<65617465>-.18 E F0
-<2832292072657475726e73202d3120616e64>A F3<6572726e6f>2.69 E F0
-<69732073657420617070726f7072696174656c79>2.68 E<2e>-.65 E F1<455252>72
-271.2 Q<4f5253>-.329 E F2<454e4f4d454d>108 283.2 Q F0<54686572652077>144
-295.2 Q<617320696e737566>-.1 E
-<8c6369656e74206d656d6f727920746f2063726561746520746865206b>-.25 E
-<65726e656c206f626a6563742e>-.1 E F1<434f4e464f524d494e472054>72 312 Q
-<4f>-.197 E F2<65706f6c6c5f6372>108 324 Q<65617465>-.18 E F0 .065
-<2832292069732061206e65>B 2.565<7741>-.25 G .065
-<504920696e74726f647563656420696e204c696e7578206b>-2.565 F<65726e656c>
--.1 E F2<322e352e3434>2.565 E F0 5.065<2e54>C .065<686520696e74657266>
--5.065 F .065
-<6163652073686f756c64206265208c6e616c697a6564206279204c696e7578>-.1 F
--.1<6b65>108 336 S<726e656c>.1 E F2<322e352e3636>2.5 E F0<2e>A F1
-<53454520414c534f>72 352.8 Q F2<65706f6c6c>108 364.8 Q F0<283429>A F2
-<65706f6c6c5f63746c>2.5 E F0<283229>A F2<65706f6c6c5f77616974>2.5 E F0
-<283229>A F2<636c6f7365>2.5 E F0<283229>A 174.005<4c696e7578203233>72
-768 R<4f63746f6265722032303032>2.5 E<31>195.395 E 0 Cg EP
-%%Trailer
-end
-%%EOF
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_create.txt b/testcases/kernel/syscalls/epoll2/man/epoll_create.txt
deleted file mode 100644
index 245408c63..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_create.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-EPOLL_CREATE(2)            Linux Programmer's Manual           EPOLL_CREATE(2)
-
-
-
-NAME
-       epoll_create - open an epoll file descriptor
-
-SYNOPSIS
-       #include <sys/epoll.h>
-
-       int epoll_create(int size)
-
-DESCRIPTION
-       Open  an  epoll  file  descriptor  by requesting the kernel allocate an
-       event backing store dimensioned for size descriptors. The size  is  not
-       the  maximum  size  of  the backing store but just a hint to the kernel
-       about how to dimension internal structures.  The returned file descrip-
-       tor  will  be used for all the subsequent calls to the epoll interface.
-       The file descriptor returned by epoll_create(2) must be closed by using
-       close(2).
-
-RETURN VALUE
-       When successful, epoll_create(2) returns a positive integer identifying
-       the descriptor.  When an error occurs, epoll_create(2) returns  -1  and
-       errno is set appropriately.
-
-ERRORS
-       ENOMEM There was insufficient memory to create the kernel object.
-
-CONFORMING TO
-       epoll_create(2)  is  a  new API introduced in Linux kernel 2.5.44.  The
-       interface should be finalized by Linux kernel 2.5.66.
-
-SEE ALSO
-       epoll(4) epoll_ctl(2) epoll_wait(2) close(2)
-
-
-
-
-Linux                           23 October 2002                EPOLL_CREATE(2)
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_ctl.2 b/testcases/kernel/syscalls/epoll2/man/epoll_ctl.2
deleted file mode 100644
index 2f7a1c714..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_ctl.2
+++ /dev/null
@@ -1,192 +0,0 @@
-.\"
-.\"  epoll by Davide Libenzi ( efficient event notification retrieval )
-.\"  Copyright (C) 2003  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.
-.\"
-.\"  This program is distributed in the hope that it will be useful,
-.\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\"  GNU General Public License for more details.
-.\"
-.\"  You should have received a copy of the GNU General Public License
-.\"  along with this program; if not, write to the Free Software
-.\"  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-.\"
-.\"  Davide Libenzi <davidel@xmailserver.org>
-.\"
-.\"
-.TH EPOLL_CTL 2 "23 October 2002" Linux "Linux Programmer's Manual"
-.SH NAME
-epoll_ctl \- control interface for an
-.B epoll
-descriptor
-.SH SYNOPSIS
-.B #include <sys/epoll.h>
-.sp
-.BR "int epoll_ctl(int " epfd ", int " op ", int " fd ", struct epoll_event *" event )
-.SH DESCRIPTION
-Control an
-.B epoll
-descriptor,
-.IR epfd ,
-by requesting the operation
-.IR op
-be performed on the target file descriptor,
-.IR fd .
-The
-.IR event
-describes the object linked to the file descriptor
-.IR fd .
-The
-.B struct epoll_event
-is defined as :
-.sp
-.nf
-
-	typedef union epoll_data {
-		void *ptr;
-		int fd;
-		__uint32_t u32;
-		__uint64_t u64;
-	} epoll_data_t;
-
-	struct epoll_event {
-		__uint32_t events;	/* Epoll events */
-		epoll_data_t data;	/* User data variable */
-	};
-
-.fi
-
-The
-.I events
-member is a bit set composed using the following available event
-types :
-.TP
-.B EPOLLIN
-The associated file is available for
-.BR read (2)
-operations.
-.TP
-.B EPOLLOUT
-The associated file is available for
-.BR write (2)
-operations.
-.TP
-.B EPOLLPRI
-There is urgent data available for
-.BR read (2)
-operations.
-.TP
-.B EPOLLERR
-Error condition happened on the associated file descriptor.
-.TP
-.B EPOLLHUP
-Hang up happened on the associated file descriptor.
-.TP
-.B EPOLLET
-Sets the Edge Triggered behaviour for the associated file descriptor.
-The default behaviour for
-.B epoll
-is Level Triggered. See
-.BR epoll (4)
-for more detailed informations about Edge and Level Triggered event
-distribution architectures.
-.TP
-.B EPOLLONESHOT
-Sets the One-Shot behaviour for the associated file descriptor. It means
-that after an event is pulled out with
-.BR epoll_wait (2)
-the associated file descriptor is internally disabled and no other events
-will be reported by the
-.B epoll
-interface. The user must call
-.BR epoll_ctl (2)
-with
-.B EPOLL_CTL_MOD
-to re-enable the file descriptor with a new event mask.
-.PP
-.sp
-The
-.B epoll
-interface supports all file descriptors that support
-.BR poll (2).
-Valid values for the
-.IR op
-parameter are :
-.SR
-.TP
-.B EPOLL_CTL_ADD
-Add the target file descriptor
-.I fd
-to the
-.B epoll
-descriptor
-.I epfd
-and associate the event
-.I event
-with the internal file linked to
-.IR fd .
-.TP
-.B EPOLL_CTL_MOD
-Change the event
-.I event
-associated to the target file descriptor
-.IR fd .
-.TP
-.B EPOLL_CTL_DEL
-Remove the target file descriptor
-.I fd
-from the
-.B epoll
-file descriptor,
-.IR epfd .
-.SE
-.SH "RETURN VALUE"
-When successful,$
-.BR epoll_ctl (2)
-returns zero. When an error occurs,$
-.BR epoll_ctl (2)
-returns \-1 and
-.I errno
-is set appropriately.
-.SH ERRORS
-.TP
-.B EBADF
-The
-.I epfd
-file descriptor is not a valid file descriptor.
-.TP
-.B EPERM
-The target file
-.I fd
-is not supported by
-.BR epoll .
-.TP
-.B EINVAL
-The supplied file descriptor,
-.IR epfd ,
-is not an
-.B epoll
-file descriptor, or the requested operation
-.I op
-is not supported by this interface.
-.TP
-.B ENOMEM
-There was insufficient memory to handle the requested
-.I op
-control operation.
-.SH CONFORMING TO
-.BR epoll_ctl (2)
-is a new API introduced in Linux kernel
-.BR 2.5.44 .$
-The interface should be finalized by Linux kernel$
-.BR 2.5.66 .
-.SH "SEE ALSO"
-.BR epoll (4)
-.BR epoll_create (2)
-.BR epoll_wait (2)
-
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_ctl.ps b/testcases/kernel/syscalls/epoll2/man/epoll_ctl.ps
deleted file mode 100644
index 44002c7d1..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_ctl.ps
+++ /dev/null
@@ -1,362 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.18.1
-%%CreationDate: Mon Feb 16 19:03:38 2004
-%%DocumentNeededResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-%%DocumentSuppliedResources: procset grops 1.18 1
-%%Pages: 2
-%%PageOrder: Ascend
-%%Orientation: Portrait
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset grops 1.18 1
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}bind def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/Fr{
-setrgbcolor fill
-}bind def
-/Fk{
-setcmykcolor fill
-}bind def
-/Fg{
-setgray fill
-}bind def
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/Ck/setcmykcolor load def
-/Cg/setgray load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-}bind def
-/PEND{
-clear
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Times-Italic
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
-/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
-/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 106.79<45504f4c4c5f43544c283229204c696e7578>72
-48 R<50726f6772616d6d657227>2.5 E 2.5<734d>-.55 G 106.79
-<616e75616c2045504f4c4c5f43544c283229>-2.5 F/F1 10.95/Times-Bold@0 SF
--.219<4e41>72 84 S<4d45>.219 E F0
-<65706f6c6c5f63746c20ad20636f6e74726f6c20696e74657266>108 96 Q
-<61636520666f7220616e>-.1 E/F2 10/Times-Bold@0 SF<65706f6c6c>2.5 E F0
-<64657363726970746f72>2.5 E F1<53594e4f50534953>72 112.8 Q F2
-<23696e636c756465203c7379732f65706f6c6c2e683e>108 124.8 Q
-<696e742065706f6c6c5f63746c28696e74>108 148.8 Q F0<65706664>2.5 E F2 2.5
-<2c69>C<6e74>-2.5 E F0<6f70>2.5 E F2 2.5<2c69>C<6e74>-2.5 E F0<6664>2.5
-E F2 2.5<2c73>C<74727563742065706f6c6c5f65>-2.5 E -.1<7665>-.15 G
-<6e74202a>.1 E F0 -2.15 -.25<65762065>D<6e74>.25 E F2<29>A F1
-<4445534352495054494f4e>72 165.6 Q F0 .403<436f6e74726f6c20616e>108
-177.6 R F2<65706f6c6c>2.903 E F0<64657363726970746f72>2.903 E<2c>-.4 E
-/F3 10/Times-Italic@0 SF<65706664>2.903 E F0 2.903<2c62>.77 G 2.903
-<7972>-2.903 G .403<657175657374696e6720746865206f7065726174696f6e>
--2.903 F F3<6f70>2.902 E F0 .402
-<626520706572666f726d6564206f6e2074686520746172>2.902 F .402
-<676574208c6c652064657363726970746f72>-.18 F<2c>-.4 E F3<6664>108 189.6
-Q F0 5<2e54>.77 G<6865>-5 E F3 -.15<6576>2.5 G<656e74>.15 E F0
-<64657363726962657320746865206f626a656374206c696e6b>2.5 E
-<656420746f20746865208c6c652064657363726970746f72>-.1 E F3<6664>2.5 E F0
-5<2e54>.77 G<6865>-5 E F2<7374727563742065706f6c6c5f65>2.5 E -.1<7665>
--.15 G<6e74>.1 E F0<69732064658c6e6564206173203a>2.5 E
-<7479706564656620756e696f6e2065706f6c6c5f64617461207b>144 225.6 Q -.2
-<766f>180 237.6 S<6964202a7074723b>.2 E<696e742066643b>180 249.6 Q
-<5f5f75696e7433325f74207533323b>180 261.6 Q
-<5f5f75696e7436345f74207536343b>180 273.6 Q 2.5<7d65>144 285.6 S
-<706f6c6c5f646174615f743b>-2.5 E<7374727563742065706f6c6c5f65>144 309.6
-Q -.15<7665>-.25 G<6e74207b>.15 E<5f5f75696e7433325f742065>180 321.6 Q
--.15<7665>-.25 G 31.73<6e74733b202f2a>.15 F<45706f6c6c2065>2.5 E -.15
-<7665>-.25 G<6e7473202a2f>.15 E<65706f6c6c5f646174615f7420646174613b>180
-333.6 Q<2f2a205573657220646174612076>.62 E<61726961626c65202a2f>-.25 E
-<7d3b>144 345.6 Q<546865>108 381.6 Q F3 -.15<6576>2.5 G<656e7473>.15 E
-F0<6d656d6265722069732061206269742073657420636f6d706f736564207573696e67
-2074686520666f6c6c6f>2.77 E<77696e672061>-.25 E -.25<7661>-.2 G
-<696c61626c652065>.25 E -.15<7665>-.25 G<6e74207479706573203a>.15 E F2
-<45504f4c4c494e>108 398.4 Q F0
-<546865206173736f636961746564208c6c652069732061>144 410.4 Q -.25<7661>
--.2 G<696c61626c6520666f72>.25 E F2 -.18<7265>2.5 G<6164>.18 E F0
-<283229206f7065726174696f6e732e>A F2<45504f4c4c4f5554>108 427.2 Q F0
-<546865206173736f636961746564208c6c652069732061>144 439.2 Q -.25<7661>
--.2 G<696c61626c6520666f72>.25 E F2<7772697465>2.5 E F0
-<283229206f7065726174696f6e732e>A F2<45504f4c4c505249>108 456 Q F0
-<5468657265206973207572>144 468 Q<67656e7420646174612061>-.18 E -.25
-<7661>-.2 G<696c61626c6520666f72>.25 E F2 -.18<7265>2.5 G<6164>.18 E F0
-<283229206f7065726174696f6e732e>A F2<45504f4c4c455252>108 484.8 Q F0<45
-72726f7220636f6e646974696f6e2068617070656e6564206f6e20746865206173736f63
-6961746564208c6c652064657363726970746f72>144 496.8 Q<2e>-.55 E F2
-<45504f4c4c485550>108 513.6 Q F0<48616e672075702068617070656e6564206f6e
-20746865206173736f636961746564208c6c652064657363726970746f72>144 525.6 Q
-<2e>-.55 E F2<45504f4c4c4554>108 542.4 Q F0 1.409
-<536574732074686520456467652054>144 554.4 R 1.409
-<72696767657265642062656861>-.35 F 1.409<76696f757220666f72207468652061
-73736f636961746564208c6c652064657363726970746f72>-.2 F 6.409<2e54>-.55 G
-1.41<686520646566>-6.409 F 1.41<61756c742062656861>-.1 F 1.41
-<76696f757220666f72>-.2 F F2<65706f6c6c>144 566.4 Q F0 .6<6973204c65>3.1
-F -.15<7665>-.25 G 3.1<6c54>.15 G .6<72696767657265642e20536565>-3.45 F
-F2<65706f6c6c>3.1 E F0 .6<28342920666f72206d6f72652064657461696c65642069
-6e666f726d6174696f6e732061626f7574204564676520616e64204c65>B -.15<7665>
--.25 G 3.1<6c54>.15 G<7269672d>-3.45 E<67657265642065>144 578.4 Q -.15
-<7665>-.25 G<6e742064697374726962>.15 E
-<7574696f6e20617263686974656374757265732e>-.2 E F2
-<45504f4c4c4f4e4553484f>108 595.2 Q<54>-.4 E F0 .121
-<5365747320746865204f6e652d53686f742062656861>144 607.2 R .121<76696f75
-7220666f7220746865206173736f636961746564208c6c652064657363726970746f72>
--.2 F 2.621<2e49>-.55 G 2.621<746d>-2.621 G .121
-<65616e73207468617420616674657220616e2065>-2.621 F -.15<7665>-.25 G .122
-<6e742069732070756c6c6564>.15 F .341<6f75742077697468>144 619.2 R F2
-<65706f6c6c5f77616974>2.841 E F0 .341<28322920746865206173736f6369617465
-64208c6c652064657363726970746f7220697320696e7465726e616c6c79206469736162
-6c656420616e64206e6f206f746865722065>B -.15<7665>-.25 G .34
-<6e74732077696c6c>.15 F .942<6265207265706f7274656420627920746865>144
-631.2 R F2<65706f6c6c>3.442 E F0<696e74657266>3.442 E .942
-<6163652e205468652075736572206d7573742063616c6c>-.1 F F2
-<65706f6c6c5f63746c>3.443 E F0 .943<2832292077697468>B F2
-<45504f4c4c5f43544c5f4d4f44>3.443 E F0<746f>3.443 E<72652d656e61626c6520
-746865208c6c652064657363726970746f7220776974682061206e65>144 643.2 Q 2.5
-<7765>-.25 G -.15<7665>-2.75 G<6e74206d61736b2e>.15 E<546865>108 672 Q
-F2<65706f6c6c>2.5 E F0<696e74657266>2.5 E<61636520737570706f72747320616c
-6c208c6c652064657363726970746f7273207468617420737570706f7274>-.1 E F2
-<706f6c6c>2.5 E F0 2.5<2832292e2056>B<616c69642076>-1.11 E
-<616c75657320666f7220746865>-.25 E F3<6f70>2.5 E F0
-<706172616d6574657220617265203a>2.5 E F2<45504f4c4c5f43544c5f414444>108
-688.8 Q F0 .224<4164642074686520746172>144 700.8 R .224
-<676574208c6c652064657363726970746f72>-.18 F F3<6664>4.694 E F0 .224
-<746f20746865>3.494 F F2<65706f6c6c>2.724 E F0<64657363726970746f72>
-2.724 E F3<65706664>2.913 E F0 .223
-<616e64206173736f6369617465207468652065>3.493 F -.15<7665>-.25 G<6e74>
-.15 E F3 -.15<6576>2.723 G<656e74>.15 E F0 .223<7769746820746865>3.403 F
-<696e7465726e616c208c6c65206c696e6b>144 712.8 Q<656420746f>-.1 E F3
-<6664>2.5 E F0<2e>.77 E 174.005<4c696e7578203233>72 768 R
-<4f63746f6265722032303032>2.5 E<31>195.395 E 0 Cg EP
-%%Page: 2 2
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 106.79<45504f4c4c5f43544c283229204c696e7578>72
-48 R<50726f6772616d6d657227>2.5 E 2.5<734d>-.55 G 106.79
-<616e75616c2045504f4c4c5f43544c283229>-2.5 F/F1 10/Times-Bold@0 SF
-<45504f4c4c5f43544c5f4d4f44>108 84 Q F0<4368616e6765207468652065>144 96
-Q -.15<7665>-.25 G<6e74>.15 E/F2 10/Times-Italic@0 SF -.15<6576>2.5 G
-<656e74>.15 E F0<6173736f63696174656420746f2074686520746172>3.18 E
-<676574208c6c652064657363726970746f72>-.18 E F2<6664>2.5 E F0<2e>.77 E
-F1<45504f4c4c5f43544c5f44454c>108 112.8 Q F0<52656d6f>144 124.8 Q .3
--.15<76652074>-.15 H<686520746172>.15 E
-<676574208c6c652064657363726970746f72>-.18 E F2<6664>4.47 E F0
-<66726f6d20746865>3.27 E F1<65706f6c6c>2.5 E F0
-<8c6c652064657363726970746f72>2.5 E<2c>-.4 E F2<65706664>2.5 E F0<2e>.77
-E/F3 10.95/Times-Bold@0 SF<52455455524e2056>72 141.6 Q<414c5545>-1.478 E
-F0 .628<5768656e207375636365737366756c2c>108 153.6 R F1
-<65706f6c6c5f63746c>3.128 E F0 .628<2832292072657475726e73207a65726f2e20
-5768656e20616e206572726f72206f63637572732c>B F1<65706f6c6c5f63746c>3.129
-E F0 .629<2832292072657475726e7320ad3120616e64>B F2<6572726e6f>3.319 E
-F0 .629<697320736574>3.309 F<617070726f7072696174656c79>108 165.6 Q<2e>
--.65 E F3<455252>72 182.4 Q<4f5253>-.329 E F1<4542>108 194.4 Q<414446>
--.3 E F0<546865>144 206.4 Q F2<65706664>2.69 E F0
-<8c6c652064657363726970746f72206973206e6f7420612076>3.27 E
-<616c6964208c6c652064657363726970746f72>-.25 E<2e>-.55 E F1<455045524d>
-108 223.2 Q F0<54686520746172>144 235.2 Q<676574208c6c65>-.18 E F2<6664>
-4.47 E F0<6973206e6f7420737570706f72746564206279>3.27 E F1<65706f6c6c>
-2.5 E F0<2e>A F1<45494e56>108 252 Q<414c>-1.35 E F0 .822
-<54686520737570706c696564208c6c652064657363726970746f72>144 264 R<2c>-.4
-E F2<65706664>3.322 E F0 3.322<2c69>.77 G 3.322<736e>-3.322 G .822
-<6f7420616e>-3.322 F F1<65706f6c6c>3.322 E F0 .822
-<8c6c652064657363726970746f72>3.322 F 3.322<2c6f>-.4 G 3.322<7274>-3.322
-G .822<686520726571756573746564206f7065726174696f6e>-3.322 F F2<6f70>
-3.551 E F0<6973>3.511 E
-<6e6f7420737570706f72746564206279207468697320696e74657266>144 276 Q
-<6163652e>-.1 E F1<454e4f4d454d>108 292.8 Q F0<54686572652077>144 304.8
-Q<617320696e737566>-.1 E<8c6369656e74206d656d6f727920746f2068616e646c65
-2074686520726571756573746564>-.25 E F2<6f70>2.73 E F0
-<636f6e74726f6c206f7065726174696f6e2e>2.69 E F3
-<434f4e464f524d494e472054>72 321.6 Q<4f>-.197 E F1<65706f6c6c5f63746c>
-108 333.6 Q F0 1.025<2832292069732061206e65>B 3.525<7741>-.25 G 1.025
-<504920696e74726f647563656420696e204c696e7578206b>-3.525 F<65726e656c>
--.1 E F1<322e352e3434>3.525 E F0 6.025<2e54>C 1.025<686520696e74657266>
--6.025 F 1.025
-<6163652073686f756c64206265208c6e616c697a6564206279204c696e7578>-.1 F
--.1<6b65>108 345.6 S<726e656c>.1 E F1<322e352e3636>2.5 E F0<2e>A F3
-<53454520414c534f>72 362.4 Q F1<65706f6c6c>108 374.4 Q F0<283429>A F1
-<65706f6c6c5f6372>2.5 E<65617465>-.18 E F0<283229>A F1
-<65706f6c6c5f77616974>2.5 E F0<283229>A 174.005<4c696e7578203233>72 768
-R<4f63746f6265722032303032>2.5 E<32>195.395 E 0 Cg EP
-%%Trailer
-end
-%%EOF
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_ctl.txt b/testcases/kernel/syscalls/epoll2/man/epoll_ctl.txt
deleted file mode 100644
index c2723054e..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_ctl.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-EPOLL_CTL(2)               Linux Programmer's Manual              EPOLL_CTL(2)
-
-
-
-NAME
-       epoll_ctl - control interface for an epoll descriptor
-
-SYNOPSIS
-       #include <sys/epoll.h>
-
-       int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
-
-DESCRIPTION
-       Control  an  epoll  descriptor, epfd, by requesting the operation op be
-       performed on the target file descriptor, fd.  The event  describes  the
-       object  linked  to  the  file descriptor fd.  The struct epoll_event is
-       defined as :
-
-
-            typedef union epoll_data {
-                 void *ptr;
-                 int fd;
-                 __uint32_t u32;
-                 __uint64_t u64;
-            } epoll_data_t;
-
-            struct epoll_event {
-                 __uint32_t events;  /* Epoll events */
-                 epoll_data_t data;  /* User data variable */
-            };
-
-
-       The events member is a bit set composed using the  following  available
-       event types :
-
-       EPOLLIN
-              The associated file is available for read(2) operations.
-
-       EPOLLOUT
-              The associated file is available for write(2) operations.
-
-       EPOLLPRI
-              There is urgent data available for read(2) operations.
-
-       EPOLLERR
-              Error condition happened on the associated file descriptor.
-
-       EPOLLHUP
-              Hang up happened on the associated file descriptor.
-
-       EPOLLET
-              Sets  the  Edge  Triggered  behaviour  for  the  associated file
-              descriptor.  The default behaviour for epoll is Level Triggered.
-              See epoll(4) for more detailed informations about Edge and Level
-              Triggered event distribution architectures.
-
-       EPOLLONESHOT
-              Sets the One-Shot behaviour for the associated file  descriptor.
-              It  means  that  after an event is pulled out with epoll_wait(2)
-              the associated file descriptor is  internally  disabled  and  no
-              other  events  will be reported by the epoll interface. The user
-              must call epoll_ctl(2) with EPOLL_CTL_MOD to re-enable the  file
-              descriptor with a new event mask.
-
-
-       The epoll interface supports all file descriptors that support poll(2).
-       Valid values for the op parameter are :
-
-       EPOLL_CTL_ADD
-              Add the target file descriptor fd to the epoll  descriptor  epfd
-              and  associate  the event event with the internal file linked to
-              fd.
-
-       EPOLL_CTL_MOD
-              Change the event event associated to the target file  descriptor
-              fd.
-
-       EPOLL_CTL_DEL
-              Remove  the  target  file  descriptor  fd  from  the  epoll file
-              descriptor, epfd.
-
-RETURN VALUE
-       When successful, epoll_ctl(2)  returns  zero.  When  an  error  occurs,
-       epoll_ctl(2) returns -1 and errno is set appropriately.
-
-ERRORS
-       EBADF  The epfd file descriptor is not a valid file descriptor.
-
-       EPERM  The target file fd is not supported by epoll.
-
-       EINVAL The  supplied  file  descriptor,  epfd,  is  not  an  epoll file
-              descriptor, or the requested operation op is  not  supported  by
-              this interface.
-
-       ENOMEM There was insufficient memory to handle the requested op control
-              operation.
-
-CONFORMING TO
-       epoll_ctl(2) is a new API  introduced  in  Linux  kernel  2.5.44.   The
-       interface should be finalized by Linux kernel 2.5.66.
-
-SEE ALSO
-       epoll(4) epoll_create(2) epoll_wait(2)
-
-
-
-
-Linux                           23 October 2002                   EPOLL_CTL(2)
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_wait.2 b/testcases/kernel/syscalls/epoll2/man/epoll_wait.2
deleted file mode 100644
index 75b367011..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_wait.2
+++ /dev/null
@@ -1,124 +0,0 @@
-.\"
-.\"  epoll by Davide Libenzi ( efficient event notification retrieval )
-.\"  Copyright (C) 2003  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.
-.\"
-.\"  This program is distributed in the hope that it will be useful,
-.\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\"  GNU General Public License for more details.
-.\"
-.\"  You should have received a copy of the GNU General Public License
-.\"  along with this program; if not, write to the Free Software
-.\"  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-.\"
-.\"  Davide Libenzi <davidel@xmailserver.org>
-.\"
-.\"
-.TH EPOLL_WAIT 2 "23 October 2002" Linux "Linux Programmer's Manual"
-.SH NAME
-epoll_wait \- wait for an I/O event on an
-.B epoll
-file descriptor
-.SH SYNOPSIS
-.B #include <sys/epoll.h>
-.sp
-.BR "int epoll_wait(int " epfd ", struct epoll_event * " events ", int " maxevents ", int " timeout)
-.SH DESCRIPTION
-Wait for events on the
-.B epoll
-file descriptor
-.I epfd
-for a maximum time of
-.I timeout
-milliseconds. The memory area pointed to by
-.I events
-will contain the events that will be available for the caller.
-Up to
-.I maxevents
-are returned by
-.BR epoll_wait (2).
-The
-.I maxevents
-parameter must be greater than zero. Specifying a
-.I timeout
-of \-1 makes
-.BR epoll_wait (2)
-wait indefinitely, while specifying a
-.I timeout
-equal to zero makes
-.BR epoll_wait (2)
-to return immediately even if no events are available ( return code equal to zero ).
-The
-.B struct epoll_event
-is defined as :
-.sp
-.nf
-
-	typedef union epoll_data {
-		void *ptr;
-		int fd;
-		__uint32_t u32;
-		__uint64_t u64;
-	} epoll_data_t;
-
-	struct epoll_event {
-		__uint32_t events;	/* Epoll events */
-		epoll_data_t data;	/* User data variable */
-	};
-
-.fi
-
-The
-.I data
-of each returned structure will contain the same data the user set with a
-.BR epoll_ctl (2)
-.IR ( EPOLL_CTL_ADD , EPOLL_CTL_MOD )
-while the
-.I events
-member will contain the returned event bit field.
-.SH "RETURN VALUE"
-When successful,$
-.BR epoll_wait (2)
-returns the number of file descriptors ready for the requested I/O, or zero
-if no file descriptor became ready during the requested
-.I timeout
-milliseconds.  When an error occurs,$
-.BR epoll_wait (2)
-returns \-1 and
-.I errno
-is set appropriately.
-.SH ERRORS
-.TP
-.B EBADF
-.I epfd
-is not a valid file descriptor.
-.TP
-.B EINVAL
-The supplied file descriptor,
-.IR epfd ,
-is not an
-.B epoll
-file descriptor, or the
-.I maxevents
-parameter is less than or equal to zero.
-.TP
-.B EFAULT
-The memory area pointed to by
-.I events
-is not accessible with write permissions.
-.SH CONFORMING TO
-.BR epoll_wait (2)
-is a new API introduced in Linux kernel
-.BR 2.5.44 .
-The interface should be finalized by Linux kernel
-.BR 2.5.66 .
-.SH "SEE ALSO"
-.BR epoll (4)
-.BR epoll_create (2)
-.BR epoll_ctl (2)
-
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_wait.ps b/testcases/kernel/syscalls/epoll2/man/epoll_wait.ps
deleted file mode 100644
index 2f9526730..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_wait.ps
+++ /dev/null
@@ -1,314 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.18.1
-%%CreationDate: Mon Feb 16 19:03:38 2004
-%%DocumentNeededResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-%%DocumentSuppliedResources: procset grops 1.18 1
-%%Pages: 1
-%%PageOrder: Ascend
-%%Orientation: Portrait
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset grops 1.18 1
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}bind def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/Fr{
-setrgbcolor fill
-}bind def
-/Fk{
-setcmykcolor fill
-}bind def
-/Fg{
-setgray fill
-}bind def
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/Ck/setcmykcolor load def
-/Cg/setgray load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-}bind def
-/PEND{
-clear
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Times-Italic
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
-/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
-/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF<45504f4c4c5f57>72 48 Q 100.78
-<414954283229204c696e7578>-1.2 F<50726f6772616d6d657227>2.5 E 2.5<734d>
--.55 G 100.78<616e75616c2045504f4c4c5f57>-2.5 F<414954283229>-1.2 E/F1
-10.95/Times-Bold@0 SF -.219<4e41>72 84 S<4d45>.219 E F0<65706f6c6c5f77>
-108 96 Q<61697420ad2077>-.1 E<61697420666f7220616e20492f4f2065>-.1 E
--.15<7665>-.25 G<6e74206f6e20616e>.15 E/F2 10/Times-Bold@0 SF
-<65706f6c6c>2.5 E F0<8c6c652064657363726970746f72>2.5 E F1
-<53594e4f50534953>72 112.8 Q F2
-<23696e636c756465203c7379732f65706f6c6c2e683e>108 124.8 Q
-<696e742065706f6c6c5f7761697428696e74>108 148.8 Q F0<65706664>2.5 E F2
-2.5<2c73>C<74727563742065706f6c6c5f65>-2.5 E -.1<7665>-.15 G<6e74202a>.1
-E F0 -2.15 -.25<65762065>2.5 H<6e7473>.25 E F2 2.5<2c69>C<6e74>-2.5 E F0
-<6d6178>2.5 E -2.15 -.25<65762065>-.15 H<6e7473>.25 E F2 2.5<2c69>C
-<6e74>-2.5 E F0<74696d656f757429>2.5 E F1<4445534352495054494f4e>72
-165.6 Q F0 -.8<5761>108 177.6 S .283<697420666f722065>.8 F -.15<7665>
--.25 G .283<6e7473206f6e20746865>.15 F F2<65706f6c6c>2.783 E F0 .282
-<8c6c652064657363726970746f72>2.783 F/F3 10/Times-Italic@0 SF<65706664>
-2.972 E F0 .282<666f722061206d6178696d756d2074696d65206f66>3.552 F F3
-<74696d656f7574>2.912 E F0 .282
-<6d696c6c697365636f6e64732e20546865206d656d6f7279>3.462 F .633
-<6172656120706f696e74656420746f206279>108 189.6 R F3 -.15<6576>3.133 G
-<656e7473>.15 E F0 .634<77696c6c20636f6e7461696e207468652065>3.403 F
--.15<7665>-.25 G .634<6e747320746861742077696c6c2062652061>.15 F -.25
-<7661>-.2 G .634<696c61626c6520666f72207468652063616c6c6572>.25 F 5.634
-<2e55>-.55 G 3.134<7074>-5.634 G<6f>-3.134 E F3<6d617865>3.514 E
-<76656e7473>-.15 E F0<617265>3.404 E .122<72657475726e6564206279>108
-201.6 R F2<65706f6c6c5f77616974>2.622 E F0 2.622<2832292e20546865>B F3
-<6d617865>3.002 E<76656e7473>-.15 E F0 .121<706172616d65746572206d757374
-2062652067726561746572207468616e207a65726f2e2053706563696679696e672061>
-2.892 F F3<74696d656f7574>2.751 E F0 .121<6f6620ad31>3.301 F<6d616b>108
-213.6 Q<6573>-.1 E F2<65706f6c6c5f77616974>3.993 E F0 1.493<2832292077>B
-1.493<61697420696e64658c6e6974656c79>-.1 F 3.993<2c77>-.65 G 1.493
-<68696c652073706563696679696e672061>-3.993 F F3<74696d656f7574>4.123 E
-F0 1.493<657175616c20746f207a65726f206d616b>4.673 F<6573>-.1 E F2
-<65706f6c6c5f77616974>3.993 E F0 1.494<28322920746f>B .509
-<72657475726e20696d6d6564696174656c792065>108 225.6 R -.15<7665>-.25 G
-3.009<6e69>.15 G 3.009<666e>-3.009 G 3.009<6f65>-3.009 G -.15<7665>
--3.259 G .509<6e7473206172652061>.15 F -.25<7661>-.2 G .509<696c61626c65
-20282072657475726e20636f646520657175616c20746f207a65726f20292e>.25 F
-<546865>5.509 E F2 .508<7374727563742065706f6c6c5f65>3.009 F -.1<7665>
--.15 G<6e74>.1 E F0<6973>3.008 E<64658c6e6564206173203a>108 237.6 Q
-<7479706564656620756e696f6e2065706f6c6c5f64617461207b>144 273.6 Q -.2
-<766f>180 285.6 S<6964202a7074723b>.2 E<696e742066643b>180 297.6 Q
-<5f5f75696e7433325f74207533323b>180 309.6 Q
-<5f5f75696e7436345f74207536343b>180 321.6 Q 2.5<7d65>144 333.6 S
-<706f6c6c5f646174615f743b>-2.5 E<7374727563742065706f6c6c5f65>144 357.6
-Q -.15<7665>-.25 G<6e74207b>.15 E<5f5f75696e7433325f742065>180 369.6 Q
--.15<7665>-.25 G 31.73<6e74733b202f2a>.15 F<45706f6c6c2065>2.5 E -.15
-<7665>-.25 G<6e7473202a2f>.15 E<65706f6c6c5f646174615f7420646174613b>180
-381.6 Q<2f2a205573657220646174612076>.62 E<61726961626c65202a2f>-.25 E
-<7d3b>144 393.6 Q<546865>108 429.6 Q F3<64617461>6.518 E F0 3.668<6f6620
-656163682072657475726e6564207374727563747572652077696c6c20636f6e7461696e
-207468652073616d6520646174612074686520757365722073657420776974682061>
-6.428 F F2<65706f6c6c5f63746c>6.169 E F0<283229>A F3<28>108 441.6 Q F0
-<45504f4c4c5f43544c5f414444>.32 E F3<2c>A F0<45504f4c4c5f43544c5f4d4f44>
-A F3<29>.34 E F0 1.751<7768696c6520746865>4.251 F F3 -.15<6576>4.251 G
-<656e7473>.15 E F0 1.751
-<6d656d6265722077696c6c20636f6e7461696e207468652072657475726e65642065>
-4.521 F -.15<7665>-.25 G 1.751<6e7420626974>.15 F<8c656c642e>108 453.6 Q
-F1<52455455524e2056>72 470.4 Q<414c5545>-1.478 E F0 .096
-<5768656e207375636365737366756c2c>108 482.4 R F2<65706f6c6c5f77616974>
-2.596 E F0 .097<2832292072657475726e7320746865206e756d626572206f66208c6c
-652064657363726970746f727320726561647920666f7220746865207265717565737465
-6420492f4f2c206f72207a65726f206966>B 3.047<6e6f208c6c652064657363726970
-746f7220626563616d6520726561647920647572696e6720746865207265717565737465
-64>108 494.4 R F3<74696d656f7574>5.677 E F0 5.547
-<6d696c6c697365636f6e64732e205768656e>6.227 F 3.047
-<616e206572726f72206f63637572732c>5.547 F F2<65706f6c6c5f77616974>108
-506.4 Q F0<2832292072657475726e7320ad3120616e64>A F3<6572726e6f>2.69 E
-F0<69732073657420617070726f7072696174656c79>2.68 E<2e>-.65 E F1<455252>
-72 523.2 Q<4f5253>-.329 E F2<4542>108 535.2 Q<414446>-.3 E F3<65706664>
-144.19 547.2 Q F0<6973206e6f7420612076>3.27 E
-<616c6964208c6c652064657363726970746f72>-.25 E<2e>-.55 E F2<45494e56>108
-564 Q<414c>-1.35 E F0 .158
-<54686520737570706c696564208c6c652064657363726970746f72>144 576 R<2c>-.4
-E F3<65706664>2.658 E F0 2.658<2c69>.77 G 2.658<736e>-2.658 G .158
-<6f7420616e>-2.658 F F2<65706f6c6c>2.658 E F0 .158
-<8c6c652064657363726970746f72>2.658 F 2.658<2c6f>-.4 G 2.658<7274>-2.658
-G<6865>-2.658 E F3<6d617865>3.038 E<76656e7473>-.15 E F0 .159
-<706172616d65746572206973206c657373>2.928 F
-<7468616e206f7220657175616c20746f207a65726f2e>144 588 Q F2<4546>108
-604.8 Q -.5<4155>-.9 G -.92<4c54>.5 G F0
-<546865206d656d6f7279206172656120706f696e74656420746f206279>144 616.8 Q
-F3 -.15<6576>2.5 G<656e7473>.15 E F0<6973206e6f742061636365737369626c65
-2077697468207772697465207065726d697373696f6e732e>2.77 E F1
-<434f4e464f524d494e472054>72 633.6 Q<4f>-.197 E F2<65706f6c6c5f77616974>
-108 645.6 Q F0 .539<2832292069732061206e65>B 3.039<7741>-.25 G .539
-<504920696e74726f647563656420696e204c696e7578206b>-3.039 F<65726e656c>
--.1 E F2<322e352e3434>3.039 E F0 5.539<2e54>C .539<686520696e74657266>
--5.539 F .538
-<6163652073686f756c64206265208c6e616c697a6564206279204c696e7578>-.1 F
--.1<6b65>108 657.6 S<726e656c>.1 E F2<322e352e3636>2.5 E F0<2e>A F1
-<53454520414c534f>72 674.4 Q F2<65706f6c6c>108 686.4 Q F0<283429>A F2
-<65706f6c6c5f6372>2.5 E<65617465>-.18 E F0<283229>A F2
-<65706f6c6c5f63746c>2.5 E F0<283229>A 174.005<4c696e7578203233>72 768 R
-<4f63746f6265722032303032>2.5 E<31>195.395 E 0 Cg EP
-%%Trailer
-end
-%%EOF
diff --git a/testcases/kernel/syscalls/epoll2/man/epoll_wait.txt b/testcases/kernel/syscalls/epoll2/man/epoll_wait.txt
deleted file mode 100644
index 41773bf9d..000000000
--- a/testcases/kernel/syscalls/epoll2/man/epoll_wait.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-EPOLL_WAIT(2)              Linux Programmer's Manual             EPOLL_WAIT(2)
-
-
-
-NAME
-       epoll_wait - wait for an I/O event on an epoll file descriptor
-
-SYNOPSIS
-       #include <sys/epoll.h>
-
-       int  epoll_wait(int  epfd,  struct epoll_event * events, int maxevents,
-       int timeout)
-
-DESCRIPTION
-       Wait for events on the epoll file descriptor epfd for a maximum time of
-       timeout milliseconds. The memory area pointed to by events will contain
-       the events that will be available for the caller.  Up to maxevents  are
-       returned  by  epoll_wait(2).   The  maxevents parameter must be greater
-       than zero. Specifying a timeout of -1 makes epoll_wait(2) wait  indefi-
-       nitely, while specifying a timeout equal to zero makes epoll_wait(2) to
-       return immediately even if no events are available ( return code  equal
-       to zero ).  The struct epoll_event is defined as :
-
-
-            typedef union epoll_data {
-                 void *ptr;
-                 int fd;
-                 __uint32_t u32;
-                 __uint64_t u64;
-            } epoll_data_t;
-
-            struct epoll_event {
-                 __uint32_t events;  /* Epoll events */
-                 epoll_data_t data;  /* User data variable */
-            };
-
-
-       The data of each returned structure will contain the same data the user
-       set with a epoll_ctl(2) (EPOLL_CTL_ADD,EPOLL_CTL_MOD) while the  events
-       member will contain the returned event bit field.
-
-RETURN VALUE
-       When  successful,  epoll_wait(2) returns the number of file descriptors
-       ready for the requested I/O, or zero if no file descriptor became ready
-       during  the  requested  timeout  milliseconds.   When  an error occurs,
-       epoll_wait(2) returns -1 and errno is set appropriately.
-
-ERRORS
-       EBADF  epfd is not a valid file descriptor.
-
-       EINVAL The supplied  file  descriptor,  epfd,  is  not  an  epoll  file
-              descriptor,  or the maxevents parameter is less than or equal to
-              zero.
-
-       EFAULT The memory area pointed to by  events  is  not  accessible  with
-              write permissions.
-
-CONFORMING TO
-       epoll_wait(2)  is  a  new  API  introduced in Linux kernel 2.5.44.  The
-       interface should be finalized by Linux kernel 2.5.66.
-
-SEE ALSO
-       epoll(4) epoll_create(2) epoll_ctl(2)
-
-
-
-
-Linux                           23 October 2002                  EPOLL_WAIT(2)
diff --git a/testcases/kernel/syscalls/epoll2/man/mkpages.sh b/testcases/kernel/syscalls/epoll2/man/mkpages.sh
deleted file mode 100755
index a1a7cf610..000000000
--- a/testcases/kernel/syscalls/epoll2/man/mkpages.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-groff -t -e -mandoc -Tascii epoll.4 | col -bx > epoll.txt
-groff -t -e -mandoc -Tascii epoll_create.2 | col -bx > epoll_create.txt
-groff -t -e -mandoc -Tascii epoll_ctl.2 | col -bx > epoll_ctl.txt
-groff -t -e -mandoc -Tascii epoll_wait.2 | col -bx > epoll_wait.txt
-groff -t -e -mandoc -Tps epoll.4 > epoll.ps
-groff -t -e -mandoc -Tps epoll_create.2 > epoll_create.ps
-groff -t -e -mandoc -Tps epoll_ctl.2 > epoll_ctl.ps
-groff -t -e -mandoc -Tps epoll_wait.2 > epoll_wait.ps
-
diff --git a/testcases/kernel/syscalls/epoll2/src/epoll.c b/testcases/kernel/syscalls/epoll2/src/epoll.c
deleted file mode 100644
index 0a8283964..000000000
--- a/testcases/kernel/syscalls/epoll2/src/epoll.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  epoll.c ( Efficent event polling implementation )
- *  Copyright (C) 2001,...,2002	 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>
- *
- */
-
-#include <linux/unistd.h>
-#include <errno.h>
-#include "epoll.h"
-
-#define __sys_epoll_create(size) _syscall1(int, epoll_create, int, size)
-#define __sys_epoll_ctl(epfd, op, fd, event) _syscall4(int, epoll_ctl, \
-			int, epfd, int, op, int, fd, struct epoll_event *, event)
-#define __sys_epoll_wait(epfd, pevents, maxevents, timeout) _syscall4(int, epoll_wait, \
-			  int, epfd, struct epoll_event *, pevents, int, maxevents, int, timeout)
-
-__sys_epoll_create(size)
-
-    __sys_epoll_ctl(epfd, op, fd, event)
-
-    __sys_epoll_wait(epfd, pevents, maxevents, timeout)
-- 
2.23.0





More information about the ltp mailing list