1 /* 2 * This file is part of the flashrom project. 3 * 4 * Copyright (C) 2017 Urja Rannikko <[email protected]> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 */ 16 17 #ifndef __CUSTOM_BAUD_H__ 18 #define __CUSTOM_BAUD_H__ 1 19 20 struct baudentry { 21 int flag; 22 unsigned int baud; 23 }; 24 25 enum custom_baud_stage { 26 BEFORE_FLAGS = 0, 27 WITH_FLAGS, 28 AFTER_FLAGS 29 }; 30 31 int set_custom_baudrate(int fd, unsigned int baud, const enum custom_baud_stage stage, void *tio_wanted); 32 33 /* Returns 1 if non-exact rate would be used, and setting a custom rate is supported. 34 The baudtable must be in ascending order and terminated with a 0-baud entry. */ 35 int use_custom_baud(unsigned int baud, const struct baudentry *baudtable); 36 37 #endif 38