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.
39 lines
1.1 KiB
39 lines
1.1 KiB
/* |
|
* Copyright (c) 2020 Intel Corporation |
|
* |
|
* SPDX-License-Identifier: Apache-2.0 |
|
*/ |
|
|
|
#define DLCI_CONTROL 0 |
|
|
|
#if IS_ENABLED(CONFIG_GSM_MUX) |
|
#define DLCI_AT CONFIG_GSM_MUX_DLCI_AT |
|
#define DLCI_PPP CONFIG_GSM_MUX_DLCI_PPP |
|
#else |
|
#define DLCI_AT -1 |
|
#define DLCI_PPP -1 |
|
#endif |
|
|
|
struct gsm_mux; |
|
struct gsm_dlci; |
|
|
|
void gsm_mux_recv_buf(struct gsm_mux *mux, uint8_t *buf, int len); |
|
int gsm_mux_send(struct gsm_mux *mux, uint8_t dlci_address, |
|
const uint8_t *buf, size_t size); |
|
struct gsm_mux *gsm_mux_create(const struct device *uart); |
|
int gsm_mux_disconnect(struct gsm_mux *mux, k_timeout_t timeout); |
|
void gsm_mux_init(void); |
|
|
|
typedef void (*gsm_mux_dlci_created_cb_t)(struct gsm_dlci *dlci, |
|
bool connected, |
|
void *user_data); |
|
|
|
int gsm_dlci_create(struct gsm_mux *mux, |
|
const struct device *uart, |
|
int dlci_address, |
|
gsm_mux_dlci_created_cb_t dlci_created_cb, |
|
void *user_data, |
|
struct gsm_dlci **dlci); |
|
int gsm_dlci_send(struct gsm_dlci *dlci, const uint8_t *buf, size_t size); |
|
int gsm_dlci_id(struct gsm_dlci *dlci); |
|
void gsm_mux_detach(struct gsm_mux *mux);
|
|
|