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.
44 lines
1.3 KiB
44 lines
1.3 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_SIGACTION_KERNEL_H
|
|
#define OS_APIS_SIGACTION_KERNEL_H
|
|
|
|
#include "os-apis.h"
|
|
|
|
// The kernel's sigaction struct is different than the struct
|
|
// defined in signal.h.
|
|
// We need to define it here in order to pass it correctly to the kernel
|
|
#if defined(TARGET_LINUX)
|
|
typedef struct /*<POD>*/ kernel_sigaction
|
|
{
|
|
void(*_handler)(int);
|
|
unsigned long _flags;
|
|
void(*_restorer)(void);
|
|
UINT64 _mask;
|
|
} SIGACTION_KERNEL;
|
|
#else // not TARGET_LINUX
|
|
typedef struct /*<POD>*/ kernel_sigaction
|
|
{
|
|
void(*_handler)(int);
|
|
void(*_tramp)(void *, unsigned int, int, void *, void *);
|
|
UINT32 _mask;
|
|
UINT32 _flags;
|
|
} SIGACTION_KERNEL;
|
|
#endif // not TARGET_LINUX
|
|
|
|
#endif // file guard
|