Changeset View
Changeset View
Standalone View
Standalone View
head/sys/compat/linux/linux_emul.h
Show All 26 Lines | |||||
* SUCH DAMAGE. | * SUCH DAMAGE. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _LINUX_EMUL_H_ | #ifndef _LINUX_EMUL_H_ | ||||
#define _LINUX_EMUL_H_ | #define _LINUX_EMUL_H_ | ||||
struct image_params; | |||||
/* | /* | ||||
* modeled after similar structure in NetBSD | * modeled after similar structure in NetBSD | ||||
* this will be extended as we need more functionality | * this will be extended as we need more functionality | ||||
*/ | */ | ||||
struct linux_emuldata { | struct linux_emuldata { | ||||
int *child_set_tid; /* in clone(): Child's TID to set on clone */ | int *child_set_tid; /* in clone(): Child's TID to set on clone */ | ||||
int *child_clear_tid;/* in clone(): Child's TID to clear on exit */ | int *child_clear_tid;/* in clone(): Child's TID to clear on exit */ | ||||
Show All 20 Lines | |||||
#define LINUX_XUNSUP_EPOLL 0x00000002 /* unsupported epoll events */ | #define LINUX_XUNSUP_EPOLL 0x00000002 /* unsupported epoll events */ | ||||
#define LINUX_XUNSUP_FUTEXPIOP 0x00000004 /* uses unsupported pi futex */ | #define LINUX_XUNSUP_FUTEXPIOP 0x00000004 /* uses unsupported pi futex */ | ||||
struct linux_pemuldata { | struct linux_pemuldata { | ||||
uint32_t flags; /* process emuldata flags */ | uint32_t flags; /* process emuldata flags */ | ||||
struct sx pem_sx; /* lock for this struct */ | struct sx pem_sx; /* lock for this struct */ | ||||
void *epoll; /* epoll data */ | void *epoll; /* epoll data */ | ||||
uint32_t persona; /* process execution domain */ | uint32_t persona; /* process execution domain */ | ||||
uint32_t ptrace_flags; /* used by ptrace(2) */ | |||||
}; | }; | ||||
#define LINUX_PEM_XLOCK(p) sx_xlock(&(p)->pem_sx) | #define LINUX_PEM_XLOCK(p) sx_xlock(&(p)->pem_sx) | ||||
#define LINUX_PEM_XUNLOCK(p) sx_xunlock(&(p)->pem_sx) | #define LINUX_PEM_XUNLOCK(p) sx_xunlock(&(p)->pem_sx) | ||||
#define LINUX_PEM_SLOCK(p) sx_slock(&(p)->pem_sx) | #define LINUX_PEM_SLOCK(p) sx_slock(&(p)->pem_sx) | ||||
#define LINUX_PEM_SUNLOCK(p) sx_sunlock(&(p)->pem_sx) | #define LINUX_PEM_SUNLOCK(p) sx_sunlock(&(p)->pem_sx) | ||||
struct linux_pemuldata *pem_find(struct proc *); | struct linux_pemuldata *pem_find(struct proc *); | ||||
extern const int linux_errtbl[]; | extern const int linux_errtbl[]; | ||||
#endif /* !_LINUX_EMUL_H_ */ | #endif /* !_LINUX_EMUL_H_ */ |