/usr/include/iv.h is in libivykis-dev 0.42.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | /*
* ivykis, an event handling library
* Copyright (C) 2002, 2003, 2009, 2012 Lennert Buytenhek
* Dedicated to Marija Kulikova.
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version
* 2.1 as published by the Free Software Foundation.
*
* This 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 version 2.1 for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License version 2.1 along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __IV_H
#define __IV_H
#ifndef _WIN32
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <unistd.h>
#else
#include <sys/time.h>
#include <windows.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* Library initialisation, main loop.
*/
void iv_init(void);
int iv_inited(void);
void iv_main(void);
void iv_quit(void);
void iv_deinit(void);
const char *iv_poll_method_name(void);
void iv_fatal(const char *fmt, ...) __attribute__((noreturn))
__attribute__((format(printf, 1, 2)));
void iv_set_fatal_msg_handler(void (*handler)(const char *msg));
unsigned long iv_get_thread_id(void);
/*
* Time handling.
*/
const struct timespec *__iv_now_location_valid();
#define iv_now (*__iv_now_location_valid())
#define iv_validate_now()
void iv_invalidate_now(void);
#ifndef _WIN32
/*
* File descriptor handling.
*/
struct iv_fd {
int fd;
void *cookie;
void (*handler_in)(void *);
void (*handler_out)(void *);
void (*handler_err)(void *);
void *pad[11];
};
void IV_FD_INIT(struct iv_fd *);
void iv_fd_register(struct iv_fd *);
int iv_fd_register_try(struct iv_fd *);
void iv_fd_unregister(struct iv_fd *);
int iv_fd_registered(const struct iv_fd *);
void iv_fd_set_handler_in(struct iv_fd *, void (*)(void *));
void iv_fd_set_handler_out(struct iv_fd *, void (*)(void *));
void iv_fd_set_handler_err(struct iv_fd *, void (*)(void *));
#endif
#ifdef _WIN32
/*
* Handle handling.
*/
struct iv_handle {
HANDLE handle;
void *cookie;
void (*handler)(void *);
void *pad[13];
};
void IV_HANDLE_INIT(struct iv_handle *);
void iv_handle_register(struct iv_handle *);
void iv_handle_unregister(struct iv_handle *);
int iv_handle_registered(const struct iv_handle *);
void iv_handle_set_handler(struct iv_handle *, void (*)(void *));
#endif
/*
* Task handling.
*/
struct iv_task {
void *cookie;
void (*handler)(void *);
void *pad[6];
};
void IV_TASK_INIT(struct iv_task *);
void iv_task_register(struct iv_task *);
void iv_task_unregister(struct iv_task *);
int iv_task_registered(const struct iv_task *);
/*
* Timer handling.
*/
struct iv_timer {
struct timespec expires;
void *cookie;
void (*handler)(void *);
void *pad[4];
};
void IV_TIMER_INIT(struct iv_timer *);
void iv_timer_register(struct iv_timer *);
void iv_timer_unregister(struct iv_timer *);
int iv_timer_registered(const struct iv_timer *);
#ifdef __cplusplus
}
#endif
#endif
|