| .. | .. |
|---|
| 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 |
|---|