Deleted Added
full compact
linux_misc.h (220031) linux_misc.h (246085)
1/*-
2 * Copyright (c) 2006 Roman Divacky
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
1/*-
2 * Copyright (c) 2006 Roman Divacky
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/compat/linux/linux_misc.h 220031 2011-03-26 11:05:53Z avg $
28 * $FreeBSD: head/sys/compat/linux/linux_misc.h 246085 2013-01-29 18:41:30Z jhb $
29 */
30
31#ifndef _LINUX_MISC_H_
32#define _LINUX_MISC_H_
33
29 */
30
31#ifndef _LINUX_MISC_H_
32#define _LINUX_MISC_H_
33
34/*
35 * Miscellaneous
36 */
37#define LINUX_NAME_MAX 255
38#define LINUX_MAX_UTSNAME 65
39
40#define LINUX_CTL_MAXNAME 10
41
34/* defines for prctl */
35#define LINUX_PR_SET_PDEATHSIG 1 /* Second arg is a signal. */
36#define LINUX_PR_GET_PDEATHSIG 2 /*
37 * Second arg is a ptr to return the
38 * signal.
39 */
40#define LINUX_PR_GET_KEEPCAPS 7 /* Get drop capabilities on setuid */
41#define LINUX_PR_SET_KEEPCAPS 8 /* Set drop capabilities on setuid */

--- 20 unchanged lines hidden (view full) ---

62 */
63#define LINUX_AT_EXECFN 31 /* filename of program */
64
65/* Linux sets the i387 to extended precision. */
66#if defined(__i386__) || defined(__amd64__)
67#define __LINUX_NPXCW__ 0x37f
68#endif
69
42/* defines for prctl */
43#define LINUX_PR_SET_PDEATHSIG 1 /* Second arg is a signal. */
44#define LINUX_PR_GET_PDEATHSIG 2 /*
45 * Second arg is a ptr to return the
46 * signal.
47 */
48#define LINUX_PR_GET_KEEPCAPS 7 /* Get drop capabilities on setuid */
49#define LINUX_PR_SET_KEEPCAPS 8 /* Set drop capabilities on setuid */

--- 20 unchanged lines hidden (view full) ---

70 */
71#define LINUX_AT_EXECFN 31 /* filename of program */
72
73/* Linux sets the i387 to extended precision. */
74#if defined(__i386__) || defined(__amd64__)
75#define __LINUX_NPXCW__ 0x37f
76#endif
77
78#define LINUX_CLONE_VM 0x00000100
79#define LINUX_CLONE_FS 0x00000200
80#define LINUX_CLONE_FILES 0x00000400
81#define LINUX_CLONE_SIGHAND 0x00000800
82#define LINUX_CLONE_PID 0x00001000 /* No longer exist in Linux */
83#define LINUX_CLONE_VFORK 0x00004000
84#define LINUX_CLONE_PARENT 0x00008000
85#define LINUX_CLONE_THREAD 0x00010000
86#define LINUX_CLONE_SETTLS 0x00080000
87#define LINUX_CLONE_PARENT_SETTID 0x00100000
88#define LINUX_CLONE_CHILD_CLEARTID 0x00200000
89#define LINUX_CLONE_CHILD_SETTID 0x01000000
90
91#define LINUX_THREADING_FLAGS \
92 (LINUX_CLONE_VM | LINUX_CLONE_FS | LINUX_CLONE_FILES | \
93 LINUX_CLONE_SIGHAND | LINUX_CLONE_THREAD)
94
95/* Scheduling policies */
96#define LINUX_SCHED_OTHER 0
97#define LINUX_SCHED_FIFO 1
98#define LINUX_SCHED_RR 2
99
100struct l_new_utsname {
101 char sysname[LINUX_MAX_UTSNAME];
102 char nodename[LINUX_MAX_UTSNAME];
103 char release[LINUX_MAX_UTSNAME];
104 char version[LINUX_MAX_UTSNAME];
105 char machine[LINUX_MAX_UTSNAME];
106 char domainname[LINUX_MAX_UTSNAME];
107};
108
109#define LINUX_CLOCK_REALTIME 0
110#define LINUX_CLOCK_MONOTONIC 1
111#define LINUX_CLOCK_PROCESS_CPUTIME_ID 2
112#define LINUX_CLOCK_THREAD_CPUTIME_ID 3
113#define LINUX_CLOCK_REALTIME_HR 4
114#define LINUX_CLOCK_MONOTONIC_HR 5
115
70extern int stclohz;
71
72#define __WCLONE 0x80000000
73
74int linux_common_wait(struct thread *td, int pid, int *status,
75 int options, struct rusage *ru);
116extern int stclohz;
117
118#define __WCLONE 0x80000000
119
120int linux_common_wait(struct thread *td, int pid, int *status,
121 int options, struct rusage *ru);
122int linux_set_upcall_kse(struct thread *td, register_t stack);
123int linux_set_cloned_tls(struct thread *td, void *desc);
76
77#endif /* _LINUX_MISC_H_ */
124
125#endif /* _LINUX_MISC_H_ */