hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/um/include/shared/os.h
....@@ -1,8 +1,8 @@
1
+/* SPDX-License-Identifier: GPL-2.0 */
12 /*
23 * Copyright (C) 2015 Anton Ivanov (aivanov@{brocade.com,kot-begemot.co.uk})
34 * Copyright (C) 2015 Thomas Meyer (thomas@m3y3r.de)
45 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
5
- * Licensed under the GPL
66 */
77
88 #ifndef __OS_H__
....@@ -35,6 +35,8 @@
3535 #else
3636 #define OS_LIB_PATH "/usr/lib/"
3737 #endif
38
+
39
+#define OS_SENDMSG_MAX_FDS 8
3840
3941 /*
4042 * types taken from stat_file() in hostfs_user.c
....@@ -148,7 +150,7 @@
148150 extern int os_file_size(const char *file, unsigned long long *size_out);
149151 extern int os_pread_file(int fd, void *buf, int len, unsigned long long offset);
150152 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);
152154 extern int os_pipe(int *fd, int stream, int close_on_exec);
153155 extern int os_set_fd_async(int fd);
154156 extern int os_clear_fd_async(int fd);
....@@ -175,6 +177,11 @@
175177 extern unsigned os_major(unsigned long long dev);
176178 extern unsigned os_minor(unsigned long long dev);
177179 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);
178185
179186 /* start_up.c */
180187 extern void os_early_checks(void);
....@@ -231,8 +238,10 @@
231238 extern void unblock_signals(void);
232239 extern int get_signals(void);
233240 extern int set_signals(int enable);
241
+extern int set_signals_trace(int enable);
234242 extern int os_is_signal_stack(void);
235243 extern void deliver_alarm(void);
244
+extern void register_pm_wake_signal(void);
236245
237246 /* util.c */
238247 extern void stack_protections(unsigned long address);
....@@ -249,15 +258,13 @@
249258
250259 /* time.c */
251260 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);
257265 extern void uml_idle_timer(void);
258266 extern long long os_persistent_clock_emulation(void);
259267 extern long long os_nsecs(void);
260
-extern long long os_vnsecs(void);
261268
262269 /* skas/mem.c */
263270 extern long run_syscall_stub(struct mm_id * mm_idp,
....@@ -318,4 +325,10 @@
318325
319326 long syscall(long number, ...);
320327
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
+
321334 #endif