.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0 */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) 2015 Anton Ivanov (aivanov@{brocade.com,kot-begemot.co.uk}) |
---|
3 | 4 | * Copyright (C) 2015 Thomas Meyer (thomas@m3y3r.de) |
---|
4 | 5 | * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
---|
5 | | - * Licensed under the GPL |
---|
6 | 6 | */ |
---|
7 | 7 | |
---|
8 | 8 | #ifndef __OS_H__ |
---|
.. | .. |
---|
35 | 35 | #else |
---|
36 | 36 | #define OS_LIB_PATH "/usr/lib/" |
---|
37 | 37 | #endif |
---|
| 38 | + |
---|
| 39 | +#define OS_SENDMSG_MAX_FDS 8 |
---|
38 | 40 | |
---|
39 | 41 | /* |
---|
40 | 42 | * types taken from stat_file() in hostfs_user.c |
---|
.. | .. |
---|
148 | 150 | extern int os_file_size(const char *file, unsigned long long *size_out); |
---|
149 | 151 | extern int os_pread_file(int fd, void *buf, int len, unsigned long long offset); |
---|
150 | 152 | extern int os_pwrite_file(int fd, const void *buf, int count, unsigned long long offset); |
---|
151 | | -extern int os_file_modtime(const char *file, unsigned long *modtime); |
---|
| 153 | +extern int os_file_modtime(const char *file, long long *modtime); |
---|
152 | 154 | extern int os_pipe(int *fd, int stream, int close_on_exec); |
---|
153 | 155 | extern int os_set_fd_async(int fd); |
---|
154 | 156 | extern int os_clear_fd_async(int fd); |
---|
.. | .. |
---|
175 | 177 | extern unsigned os_major(unsigned long long dev); |
---|
176 | 178 | extern unsigned os_minor(unsigned long long dev); |
---|
177 | 179 | extern unsigned long long os_makedev(unsigned major, unsigned minor); |
---|
| 180 | +extern int os_falloc_punch(int fd, unsigned long long offset, int count); |
---|
| 181 | +extern int os_eventfd(unsigned int initval, int flags); |
---|
| 182 | +extern int os_sendmsg_fds(int fd, const void *buf, unsigned int len, |
---|
| 183 | + const int *fds, unsigned int fds_num); |
---|
| 184 | +int os_poll(unsigned int n, const int *fds); |
---|
178 | 185 | |
---|
179 | 186 | /* start_up.c */ |
---|
180 | 187 | extern void os_early_checks(void); |
---|
.. | .. |
---|
231 | 238 | extern void unblock_signals(void); |
---|
232 | 239 | extern int get_signals(void); |
---|
233 | 240 | extern int set_signals(int enable); |
---|
| 241 | +extern int set_signals_trace(int enable); |
---|
234 | 242 | extern int os_is_signal_stack(void); |
---|
235 | 243 | extern void deliver_alarm(void); |
---|
| 244 | +extern void register_pm_wake_signal(void); |
---|
236 | 245 | |
---|
237 | 246 | /* util.c */ |
---|
238 | 247 | extern void stack_protections(unsigned long address); |
---|
.. | .. |
---|
249 | 258 | |
---|
250 | 259 | /* time.c */ |
---|
251 | 260 | extern void os_idle_sleep(unsigned long long nsecs); |
---|
252 | | -extern int os_timer_create(void* timer); |
---|
253 | | -extern int os_timer_set_interval(void* timer, void* its); |
---|
254 | | -extern int os_timer_one_shot(int ticks); |
---|
255 | | -extern long long os_timer_disable(void); |
---|
256 | | -extern long os_timer_remain(void* timer); |
---|
| 261 | +extern int os_timer_create(void); |
---|
| 262 | +extern int os_timer_set_interval(unsigned long long nsecs); |
---|
| 263 | +extern int os_timer_one_shot(unsigned long long nsecs); |
---|
| 264 | +extern void os_timer_disable(void); |
---|
257 | 265 | extern void uml_idle_timer(void); |
---|
258 | 266 | extern long long os_persistent_clock_emulation(void); |
---|
259 | 267 | extern long long os_nsecs(void); |
---|
260 | | -extern long long os_vnsecs(void); |
---|
261 | 268 | |
---|
262 | 269 | /* skas/mem.c */ |
---|
263 | 270 | extern long run_syscall_stub(struct mm_id * mm_idp, |
---|
.. | .. |
---|
318 | 325 | |
---|
319 | 326 | long syscall(long number, ...); |
---|
320 | 327 | |
---|
| 328 | +/* irqflags tracing */ |
---|
| 329 | +extern void block_signals_trace(void); |
---|
| 330 | +extern void unblock_signals_trace(void); |
---|
| 331 | +extern void um_trace_signals_on(void); |
---|
| 332 | +extern void um_trace_signals_off(void); |
---|
| 333 | + |
---|
321 | 334 | #endif |
---|