Line data Source code
1 0 : /*
2 : * Copyright (c) 2025 Embeint Holdings Pty Ltd
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_MODEM_AT_USER_PIPE_
8 : #define ZEPHYR_MODEM_AT_USER_PIPE_
9 :
10 : #include <zephyr/modem/chat.h>
11 :
12 : /**
13 : * @brief Initialise the AT command user pipe
14 : *
15 : * @param chat Chat instance that will be used with the user pipe
16 : */
17 1 : void modem_at_user_pipe_init(struct modem_chat *chat);
18 :
19 : /**
20 : * @brief Claim the AT command user pipe to run commands
21 : *
22 : *
23 : * @retval 0 On success
24 : * @retval -EPERM Modem is not ready
25 : * @retval -EBUSY User pipe already claimed
26 : */
27 1 : int modem_at_user_pipe_claim(void);
28 :
29 : /**
30 : * @brief Release the AT command user pipe to other users
31 : *
32 : * Must be called after @ref modem_at_user_pipe_claim when pipe is no longer
33 : * in use.
34 : */
35 1 : void modem_at_user_pipe_release(void);
36 :
37 : #endif /* ZEPHYR_MODEM_AT_USER_PIPE_ */
|