1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * (C) Copyright 2008 4 * Gary Jennejohn, DENX Software Engineering GmbH, garyj@denx.de. 5 */ 6 7#ifndef _IO_MUX_H 8#define _IO_MUX_H 9 10#include <stdio_dev.h> 11 12/* 13 * Stuff required to support console multiplexing. 14 */ 15 16/* 17 * Pointers to devices used for each file type. Defined in console.c 18 * but storage is allocated in iomux.c. 19 */ 20extern struct stdio_dev **console_devices[MAX_FILES]; 21/* 22 * The count of devices assigned to each FILE. Defined in console.c 23 * and populated in iomux.c. 24 */ 25extern int cd_count[MAX_FILES]; 26 27#define for_each_console_dev(i, file, dev) \ 28 for (i = 0, dev = console_devices[file][i]; \ 29 i < cd_count[file]; \ 30 i++, dev = console_devices[file][i]) 31 32int iomux_match_device(struct stdio_dev **, const int, struct stdio_dev *); 33int iomux_doenv(const int, const char *); 34int iomux_replace_device(const int, const char *, const char *); 35void iomux_printdevs(const int); 36 37#endif /* _IO_MUX_H */ 38