1 /*
2  * Copyright (c) 2024 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef NRFS_HDR_H
8 #define NRFS_HDR_H
9 
10 #include <internal/nrfs_phy.h>
11 
12 #include <internal/requests/nrfs_clock_reqs.h>
13 #include <internal/requests/nrfs_diag_reqs.h>
14 #include <internal/requests/nrfs_dvfs_reqs.h>
15 #include <internal/requests/nrfs_gdfs_reqs.h>
16 #include <internal/requests/nrfs_gdpwr_reqs.h>
17 #include <internal/requests/nrfs_mram_reqs.h>
18 #include <internal/requests/nrfs_pmic_reqs.h>
19 #include <internal/requests/nrfs_swext_reqs.h>
20 #include <internal/requests/nrfs_reset_reqs.h>
21 #include <internal/requests/nrfs_temp_reqs.h>
22 #include <internal/requests/nrfs_usb_reqs.h>
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 typedef struct __NRFS_PACKED {
29 	uint16_t req;
30 } nrfs_hdr_t;
31 
32 #define NRFS_HDR_GET(_p_phy) ((nrfs_hdr_t *)((_p_phy)->p_buffer))
33 
34 #define NRFS_HDR_FILL(p_hdr, _req) ((p_hdr)->req = (uint16_t)(_req))
35 
36 #define NRFS_SERVICE_HDR_FILL(p_srv_req, _req) NRFS_HDR_FILL(&(p_srv_req)->hdr, _req)
37 
38 #define NRFS_HDR_NO_RSP_GET(_p_hdr) NRFS_NO_RSP_GET((_p_hdr)->req)
39 
40 #define NRFS_HDR_NO_RSP_SET(_p_hdr) NRFS_NO_RSP_SET((_p_hdr)->req)
41 
42 #define NRFS_HDR_FILTER_ERR_GET(_p_hdr) NRFS_FILTER_ERR_GET((_p_hdr)->req)
43 
44 #define NRFS_HDR_FILTER_ERR_SET(_p_hdr) NRFS_FILTER_ERR_SET((_p_hdr)->req)
45 
46 /* Warning! All "UNSOLICITED" features are not supported. This is intended for possible future use. */
47 #define NRFS_HDR_UNSOLICITED_GET(_p_hdr) NRFS_UNSOLICITED_GET((_p_hdr)->req)
48 
49 /* Warning! All "UNSOLICITED" features are not supported. This is intended for possible future use. */
50 #define NRFS_HDR_UNSOLICITED_SET(_p_hdr) NRFS_UNSOLICITED_SET((_p_hdr)->req)
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 
56 #endif /* NRFS_HDR_H */
57