summaryrefslogtreecommitdiff
path: root/tools.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools.h')
-rw-r--r--tools.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/tools.h b/tools.h
index 5f09edb..ebabb47 100644
--- a/tools.h
+++ b/tools.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: tools.h 1.47 2002/06/09 11:09:10 kls Exp $
+ * $Id: tools.h 1.49 2002/08/16 08:52:01 kls Exp $
*/
#ifndef __TOOLS_H
@@ -12,6 +12,7 @@
#include <errno.h>
#include <fcntl.h>
+#include <poll.h>
#include <stdio.h>
#include <string.h>
#include <syslog.h>
@@ -36,6 +37,8 @@ extern int SysLogLevel;
#define MAXPARSEBUFFER KILOBYTE(10)
+#define MALLOC(type, size) (type *)malloc(sizeof(type) * (size))
+
#define DELETENULL(p) (delete (p), p = NULL)
#define CHECK(s) { if ((s) < 0) LOG_ERROR; } // used for 'ioctl()' calls
@@ -74,6 +77,17 @@ bool SpinUpDisk(const char *FileName);
const char *WeekDayName(int WeekDay); // returns a statically allocated string!
const char *DayDateTime(time_t t = 0); // returns a statically allocated string!
+class cPoller {
+private:
+ enum { MaxPollFiles = 16 };
+ pollfd pfd[MaxPollFiles];
+ int numFileHandles;
+public:
+ cPoller(int FileHandle = -1, bool Out = false);
+ bool Add(int FileHandle, bool Out);
+ bool Poll(int TimeoutMs = 0);
+ };
+
class cFile {
private:
static bool files[];