Jeremy Kerr | 3d36ee2 | 2019-05-30 11:15:37 +0800 | [diff] [blame] | 1 | /* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later */ |
Jeremy Kerr | 4cdc200 | 2019-02-07 16:49:12 +0800 | [diff] [blame] | 2 | |
| 3 | #ifndef _LIBMCTP_SERIAL_H |
| 4 | #define _LIBMCTP_SERIAL_H |
| 5 | |
Deepak Kodihalli | b11ad2c | 2019-02-28 03:42:22 -0600 | [diff] [blame] | 6 | #ifdef __cplusplus |
| 7 | extern "C" { |
| 8 | #endif |
| 9 | |
Jeremy Kerr | 8682ef2 | 2019-05-30 17:46:44 +0800 | [diff] [blame] | 10 | #include <libmctp.h> |
Jeremy Kerr | 4cdc200 | 2019-02-07 16:49:12 +0800 | [diff] [blame] | 11 | |
| 12 | struct mctp_binding_serial; |
| 13 | |
| 14 | struct mctp_binding_serial *mctp_serial_init(void); |
Jeremy Kerr | 597b369 | 2019-09-03 16:24:48 +0800 | [diff] [blame] | 15 | |
Jeremy Kerr | 4cdc200 | 2019-02-07 16:49:12 +0800 | [diff] [blame] | 16 | void mctp_serial_register_bus(struct mctp_binding_serial *serial, |
| 17 | struct mctp *mctp, mctp_eid_t eid); |
Jeremy Kerr | 597b369 | 2019-09-03 16:24:48 +0800 | [diff] [blame] | 18 | |
| 19 | /* file-based IO */ |
| 20 | int mctp_serial_get_fd(struct mctp_binding_serial *serial); |
Jeremy Kerr | 4cdc200 | 2019-02-07 16:49:12 +0800 | [diff] [blame] | 21 | int mctp_serial_read(struct mctp_binding_serial *serial); |
| 22 | int mctp_serial_open_path(struct mctp_binding_serial *serial, |
| 23 | const char *path); |
| 24 | void mctp_serial_open_fd(struct mctp_binding_serial *serial, int fd); |
| 25 | |
Jeremy Kerr | 597b369 | 2019-09-03 16:24:48 +0800 | [diff] [blame] | 26 | /* direct function call IO */ |
| 27 | typedef int (*mctp_serial_tx_fn)(void *data, void *buf, size_t len); |
| 28 | void mctp_serial_set_tx_fn(struct mctp_binding_serial *serial, |
| 29 | mctp_serial_tx_fn fn, void *data); |
| 30 | int mctp_serial_rx(struct mctp_binding_serial *serial, |
| 31 | const void *buf, size_t len); |
| 32 | |
Deepak Kodihalli | b11ad2c | 2019-02-28 03:42:22 -0600 | [diff] [blame] | 33 | #ifdef __cplusplus |
| 34 | } |
| 35 | #endif |
| 36 | |
Jeremy Kerr | 4cdc200 | 2019-02-07 16:49:12 +0800 | [diff] [blame] | 37 | #endif /* _LIBMCTP_SERIAL_H */ |