コード例 #1
0
ファイル: fsnode.c プロジェクト: vadimsmirnovnsk/embox
/*
 * file_operations
 */
static int dev_uart_open(struct node *node, struct file_desc *desc, int flags) {
	struct uart *uart_dev = uart_dev_lookup(node->name);

	if (!uart_dev) {
		return -ENOENT;
	}

	assert(desc);

	desc->file_info = uart_dev;
	idesc_serial_create(desc, uart_dev, flags);

	return 0;
}
コード例 #2
0
ファイル: ttys_oldfs.c プロジェクト: AleksandraButrova/embox
static struct idesc *uart_fsop_open(struct node *node, struct file_desc *file_desc, int flags)  {
	struct uart *uart;
	struct idesc *idesc;
	int res;

	uart = uart_dev_lookup(node->name);
	if (!uart) {
		return err_ptr(ENOENT);
	}
	idesc = idesc_serial_create(uart, flags);
	if (err(idesc)) {
		return idesc;
	}
	res = uart_open(uart);
	if (res) {
		return err_ptr(-res);
	}

	return idesc;
}