Changeset 449
- Timestamp:
- Jul 22, 2020, 12:28:25 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/ntshell/src/stdio_stub.c
r442 r449 380 380 } 381 381 382 static void serial_rx_irq_handler(int fd) 383 { 384 struct SHELL_FILE *fp = fd_to_fp(fd); 382 static void serial_rx_irq_handler(struct SHELL_FILE *fp) 383 { 385 384 stdio_sio_t *uart = (stdio_sio_t *)((struct ntstdio_t *)fp->exinf)->exinf; 386 385 serial_t *serial = (serial_t *)&uart->serial; … … 389 388 unsigned char c = (unsigned char)serial_getc(serial); 390 389 391 if (f d != STDIN_FILENO) {390 if (fp->fd != STDIN_FILENO) { 392 391 ER ret; 393 392 FLGPTN flgptn = 0; … … 399 398 if (fp->readevt_w == fp->readevt_r) fp->readevt_w++; 400 399 401 FD_SET(f d, (fd_set *)&flgptn);400 FD_SET(fp->fd, (fd_set *)&flgptn); 402 401 403 402 ret = set_flg(FLG_SELECT_WAIT, flgptn); … … 475 474 } 476 475 477 static void serial_tx_irq_handler(int fd) 478 { 479 struct SHELL_FILE *fp = fd_to_fp(fd); 476 static void serial_tx_irq_handler(struct SHELL_FILE *fp) 477 { 480 478 stdio_sio_t *uart = (stdio_sio_t *)((struct ntstdio_t *)fp->exinf)->exinf; 481 479 serial_t *serial = (serial_t *)&uart->serial; … … 486 484 487 485 FLGPTN flgptn = 0; 488 FD_SET(f d, (fd_set *)&flgptn);486 FD_SET(fp->fd, (fd_set *)&flgptn); 489 487 490 488 ret = set_flg(FLG_SELECT_WAIT, flgptn); … … 517 515 switch (event) { 518 516 case RxIrq: 519 serial_rx_irq_handler( STDIN_FILENO);517 serial_rx_irq_handler(fd_to_fp(STDIN_FILENO)); 520 518 break; 521 519 case TxIrq: 522 serial_tx_irq_handler( STDOUT_FILENO);520 serial_tx_irq_handler(fd_to_fp(STDOUT_FILENO)); 523 521 break; 524 522 } … … 527 525 void sio_serial_irq_handler(uint32_t id, SerialIrq event) 528 526 { 529 struct SHELL_FILE *fp = fd_to_fp(id);530 if ( (fp == NULL) || (fp->type != &IO_TYPE_SIO))527 struct SHELL_FILE *fp = id_to_fd(&IO_TYPE_SIO, id); 528 if (fp == NULL) 531 529 return; 532 530 533 531 switch (event) { 534 532 case RxIrq: 535 serial_rx_irq_handler( id);533 serial_rx_irq_handler(fp); 536 534 break; 537 535 case TxIrq: 538 serial_tx_irq_handler( id);536 serial_tx_irq_handler(fp); 539 537 break; 540 538 }
Note:
See TracChangeset
for help on using the changeset viewer.