You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
/*
|
|
* Copyright 2002-2019 Intel Corporation.
|
|
*
|
|
* This software and the related documents are Intel copyrighted materials, and your
|
|
* use of them is governed by the express license under which they were provided to
|
|
* you ("License"). Unless the License provides otherwise, you may not use, modify,
|
|
* copy, publish, distribute, disclose or transmit this software or the related
|
|
* documents without Intel's prior written permission.
|
|
*
|
|
* This software and the related documents are provided as is, with no express or
|
|
* implied warranties, other than those that are expressly stated in the License.
|
|
*/
|
|
|
|
// <COMPONENT>: os-apis
|
|
// <FILE-TYPE>: component public header
|
|
|
|
#ifndef OS_APIS_LINUX_BARESYSCALL_H__
|
|
#define OS_APIS_LINUX_BARESYSCALL_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if defined(TARGET_IA32)
|
|
|
|
#include "ia32-linux/baresyscall.h"
|
|
#else
|
|
#include "intel64-linux/baresyscall.h"
|
|
|
|
#endif
|
|
|
|
#include "unix-baresyscall.h"
|
|
|
|
/*!
|
|
* The OS_SyscallDoClone system call creates a new process, thae child execute continues from the point of the call.
|
|
* @param[in] flags Flags to create the child process with.
|
|
* @param[in] childStack The child_stack argument specifies the location of the stack used by the child process.
|
|
* @param[out] parentTid The parent Tid.
|
|
* @param[in] childTls The tls of the new process.
|
|
* @param[out] childTid The new process Tid.
|
|
*
|
|
* @return Returns a OS_SYSCALLRETURN object, which can be used to
|
|
* examine success and result values.
|
|
*/
|
|
OS_SYSCALLRETURN OS_SyscallDoClone(ADDRINT flags, void* childStack, ADDRINT* parentTid,
|
|
void* childTls, ADDRINT* childTid);
|
|
|
|
/*
|
|
* The address of the instruction that performs a system call inside OS-APIs.
|
|
*/
|
|
void* OS_GetInstructionAddressOfSyscall();
|
|
|
|
/*
|
|
* This is the signal restorer which is called after a signal handler
|
|
* had returned. (from RT signals)
|
|
* This is basically a system call to restore to restore original thread
|
|
* context.
|
|
* This syscall never returns
|
|
*/
|
|
void OS_RtSigReturn();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // file guard
|