32 typedef int (*gl_close_fn) (
int fd);
35 typedef int (*gl_ioctl_fn) (
int fd,
int request,
void *arg);
45 struct fd_hook *private_next;
46 struct fd_hook *private_prev;
49 int (*private_close_fn) (
const struct fd_hook *remaining_list,
55 int (*private_ioctl_fn) (
const struct fd_hook *remaining_list,
57 int fd,
int request,
void *arg);
66 typedef int (*close_hook_fn) (
const struct fd_hook *remaining_list,
72 extern int execute_close_hooks (
const struct fd_hook *remaining_list,
78 extern int execute_all_close_hooks (gl_close_fn primary,
int fd);
86 typedef int (*ioctl_hook_fn) (
const struct fd_hook *remaining_list,
88 int fd,
int request,
void *arg);
92 extern int execute_ioctl_hooks (
const struct fd_hook *remaining_list,
94 int fd,
int request,
void *arg);
98 extern int execute_all_ioctl_hooks (gl_ioctl_fn primary,
99 int fd,
int request,
void *arg);
105 extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook,
106 struct fd_hook *link);
109 extern void unregister_fd_hook (
struct fd_hook *link);