view libserial-newlnx/setbaud.c @ 511:0212edcec4d2

loadtools/flashid.c: added alt ID for 28F320C3T equiv in Mot C139
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 28 May 2019 17:09:24 +0000
parents ab8410d06ca7
children
line wrap: on
line source

/*
 * This module implements the termios/ioctl setting of the baud rate.
 */

#include <sys/types.h>
#include <sys/ioctl.h>
#include <asm/ioctls.h>
#include <asm/termbits.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "baudrate.h"

extern int target_fd;

struct baudrate *current_baud_rate;

set_serial_baudrate(br)
	struct baudrate *br;
{
	struct termios2 target_termios;

	target_termios.c_iflag = IGNBRK;
	target_termios.c_oflag = 0;
	target_termios.c_cflag = br->termios_code | CLOCAL|HUPCL|CREAD|CS8;
	target_termios.c_lflag = 0;
	target_termios.c_cc[VMIN] = 1;
	target_termios.c_cc[VTIME] = 0;
	target_termios.c_ispeed = br->nonstd_speed;
	target_termios.c_ospeed = br->nonstd_speed;
	if (ioctl(target_fd, TCSETSF2, &target_termios) < 0) {
		perror("TCSETSF2");
		exit(1);
	}
	current_baud_rate = br;
	return 0;
}