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.
64 lines
1.6 KiB
64 lines
1.6 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_BARESYSCALL_H__
|
|
#define OS_APIS_BARESYSCALL_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "syscalltypes.h"
|
|
|
|
typedef int OS_SYSCALL_TYPE;
|
|
|
|
#if defined(TARGET_WINDOWS)
|
|
|
|
#include "windows-baresyscall.h"
|
|
|
|
#endif
|
|
|
|
#if defined(TARGET_LINUX)
|
|
|
|
#include "linux-baresyscall.h"
|
|
|
|
#endif
|
|
|
|
#if defined(TARGET_MAC)
|
|
|
|
#include "mac-baresyscall.h"
|
|
|
|
#endif
|
|
|
|
/*!
|
|
* Perform a system call.
|
|
* @param[in] sysno The system call number.
|
|
* @param[in] type The system call type (linux, int80 , int81 ....).
|
|
* @param[in] argCount The number of system call parameters.
|
|
* @param[in] ... A variable number of system call parameters.
|
|
*
|
|
* @return Returns a OS_SYSCALLRETURN object, which can be used to
|
|
* examine success and result values.
|
|
*/
|
|
OS_SYSCALLRETURN OS_SyscallDo(ADDRINT sysno, OS_SYSCALL_TYPE type, unsigned argCount, ...);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // file guard
|