1 /*
2  * Copyright (c) 2017 Intel Corporation
3  * Copyright (c) 2017 Oticon A/S
4  *
5  * SPDX-License-Identifier: Apache-2.0
6  */
7 
8 /**
9  * @file
10  * @brief Per-arch thread definition
11  *
12  * This file contains definitions for
13  *
14  *  struct _thread_arch
15  *  struct _callee_saved
16  *
17  * necessary to instantiate instances of struct k_thread.
18  */
19 
20 #ifndef ZEPHYR_INCLUDE_ARCH_POSIX_THREAD_H_
21 #define ZEPHYR_INCLUDE_ARCH_POSIX_THREAD_H_
22 
23 #ifndef _ASMLANGUAGE
24 #include <zephyr/types.h>
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 struct _callee_saved {
31 	/* IRQ status before irq_lock() and call to z_swap() */
32 	uint32_t key;
33 
34 	/* Return value of z_swap() */
35 	uint32_t retval;
36 
37 	/* Thread status pointer */
38 	void *thread_status;
39 };
40 
41 
42 struct _thread_arch {
43 	/* nothing for now */
44 	int dummy;
45 };
46 
47 typedef struct _thread_arch _thread_arch_t;
48 
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 #endif /* _ASMLANGUAGE */
54 
55 #endif /* ZEPHYR_INCLUDE_ARCH_POSIX_THREAD_H_ */
56