From f61b07207eb70709a50f55cef8e40a1ae5a40e0f Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 5 May 2025 22:35:19 +0300 Subject: removed poll.h and syspoll.h They were probably for compatibility on some obscure legacy UNIX, that lacked the header for some strange reason. (But then, why wouldn't you just define `struct pollfd` and poll() in one of Video TECO's headers?) --- poll.h | 19 -------- syspoll.h | 153 -------------------------------------------------------------- 2 files changed, 172 deletions(-) delete mode 100644 poll.h delete mode 100644 syspoll.h diff --git a/poll.h b/poll.h deleted file mode 100644 index ade728d..0000000 --- a/poll.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright (c) 1988 AT&T */ -/* All Rights Reserved */ - -/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ -/* The copyright notice above does not evidence any */ -/* actual or intended publication of such source code. */ - -#ifndef _POLL_H -#define _POLL_H - -#pragma ident "@(#)poll.h 1.7 92/07/14 SMI" /* SVr4.0 1.2 */ - -/* - * Poll system call interface definitions. - */ - -#include "syspoll.h" - -#endif /* _POLL_H */ diff --git a/syspoll.h b/syspoll.h deleted file mode 100644 index 68e4884..0000000 --- a/syspoll.h +++ /dev/null @@ -1,153 +0,0 @@ -/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ -/* All Rights Reserved */ - -/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ -/* The copyright notice above does not evidence any */ -/* actual or intended publication of such source code. */ - -/* - * Copyright (c) 1995 by Sun Microsystems, Inc. - * All rights reserved. - */ - -#ifndef _SYS_POLL_H -#define _SYS_POLL_H - -#pragma ident "@(#)poll.h 1.24 97/04/18 SMI" /* SVr4.0 11.9 */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Structure of file descriptor/event pairs supplied in - * the poll arrays. - */ -typedef struct pollfd { - int fd; /* file desc to poll */ - short events; /* events of interest on fd */ - short revents; /* events that occurred on fd */ -} pollfd_t; - -typedef unsigned long nfds_t; - -/* - * Testable select events - */ -#define POLLIN 0x0001 /* fd is readable */ -#define POLLPRI 0x0002 /* high priority info at fd */ -#define POLLOUT 0x0004 /* fd is writeable (won't block) */ -#define POLLRDNORM 0x0040 /* normal data is readable */ -#define POLLWRNORM POLLOUT -#define POLLRDBAND 0x0080 /* out-of-band data is readable */ -#define POLLWRBAND 0x0100 /* out-of-band data is writeable */ - -#define POLLNORM POLLRDNORM - -/* - * Non-testable poll events (may not be specified in events field, - * but may be returned in revents field). - */ -#define POLLERR 0x0008 /* fd has error condition */ -#define POLLHUP 0x0010 /* fd has been hung up on */ -#define POLLNVAL 0x0020 /* invalid pollfd entry */ - -#ifdef _KERNEL - -/* - * Additional private poll flags supported only by strpoll(). - * Must be bit-wise distinct from the above POLL flags. - */ -#define POLLRDDATA 0x200 /* Wait for M_DATA; ignore M_PROTO only msgs */ -#define POLLNOERR 0x400 /* Ignore POLLERR conditions */ - -#endif /* _KERNEL */ - -#if defined(_KERNEL) || defined(_KMEMUSER) - -#include -#include - -/* - * Poll list head structure. A pointer to this is passed to - * pollwakeup() from the caller indicating an event has occurred. - * Only the ph_list field is used, but for DDI compliance, we can't - * change the size of the structure. - */ -typedef struct pollhead { - struct polldat *ph_list; /* list of pollers */ - struct polldat *ph_dummy; /* unused -- see above */ - short ph_events; /* unused -- see above */ -} pollhead_t; - -/* - * Data necessary to notify process sleeping in poll(2) - * when an event has occurred. - */ -typedef struct polldat { - kthread_t *pd_thread; /* thread doing poll */ - int pd_events; /* events being polled */ - struct polldat *pd_next; /* next in poll list */ - struct polldat *pd_prev; /* previous in poll list */ - struct pollhead *pd_headp; /* backpointer to head of list */ - struct pollhead *pd_sphp; /* stored pollhead struct pointer */ -} polldat_t; - -/* - * State information kept by each polling thread - */ -typedef struct pollstate { - int ps_nfds; - int ps_flag; - pollfd_t *ps_pollfd; - polldat_t *ps_polldat; - kmutex_t ps_lock; /* mutex for the polling thread */ - kmutex_t ps_no_exit; /* protects ps_busy*, can't be nested */ - int ps_busy; /* can only exit when its 0 */ - kcondvar_t ps_busy_cv; /* cv to wait on if ps_busy != 0 */ - kcondvar_t ps_cv; /* cv to wait on if needed */ -} pollstate_t; - -/* ps_flag */ -#define T_POLLTIME 0x01 /* poll timeout pending */ -#define T_POLLWAKE 0x02 /* pollwakeup() occurred */ - -#if defined(_KERNEL) - -/* - * Routine called to notify a process of the occurrence - * of an event. - */ -extern void pollwakeup(pollhead_t *, short); -/* - * pollwakeup_safe will replace pollwakeup when the support - * for unsafe drivers is removed. - */ -extern void pollwakeup_safe(pollhead_t *, short); - -/* - * Internal routines. - */ -extern void polltime(kthread_t *); -extern void pollrun(kthread_t *); -extern void polldel(pollstate_t *); -extern void polllock(pollhead_t *, kmutex_t *); -extern int pollunlock(pollhead_t *); -extern void pollrelock(pollhead_t *, int); -extern void pollcleanup(kthread_t *); - -extern void ppwaitemptylist(pollhead_t *); - -#endif /* defined(_KERNEL) */ - -#endif /* defined(_KERNEL) || defined(_KMEMUSER) */ - -#if defined(__STDC__) && !defined(_KERNEL) -int poll(struct pollfd *, nfds_t, int); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* _SYS_POLL_H */ -- cgit v1.2.3