45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/*
|
|
* Copyright (c) 2020 Linaro Limited. All rights reserved.
|
|
* Author: Viresh Kumar <viresh.kumar@linaro.org>
|
|
*/
|
|
|
|
#ifndef SIGWAIT_H__
|
|
#define SIGWAIT_H__
|
|
|
|
#include "tst_test.h"
|
|
#include "tst_timer.h"
|
|
#include <signal.h>
|
|
|
|
/* swi: sigwaitinfo() */
|
|
typedef int (*swi_func) (const sigset_t * set, siginfo_t * info,
|
|
void * timeout);
|
|
typedef void (*test_func) (swi_func, int, enum tst_ts_type type);
|
|
|
|
struct sigwait_test_desc {
|
|
test_func tf;
|
|
int signo;
|
|
};
|
|
|
|
void test_empty_set(swi_func sigwaitinfo, int signo,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_timeout(swi_func sigwaitinfo, int signo, enum tst_ts_type type);
|
|
void test_unmasked_matching(swi_func sigwaitinfo, int signo,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_unmasked_matching_noinfo(swi_func sigwaitinfo, int signo,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_masked_matching(swi_func sigwaitinfo, int signo,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_masked_matching_rt(swi_func sigwaitinfo, int signo,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_masked_matching_noinfo(swi_func sigwaitinfo, int signo,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_bad_address(swi_func sigwaitinfo, int signo,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_bad_address2(swi_func sigwaitinfo, int signo LTP_ATTRIBUTE_UNUSED,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void test_bad_address3(swi_func sigwaitinfo, int signo LTP_ATTRIBUTE_UNUSED,
|
|
enum tst_ts_type type LTP_ATTRIBUTE_UNUSED);
|
|
void sigwait_setup(void);
|
|
#endif /* SIGWAIT_H__ */
|