RETURNFUNC ENTERFUNC for serial.c

https://github.com/Hamlib/Hamlib/issues/514
pull/548/head
Michael Black W9MDB 2021-02-14 23:46:05 -06:00
rodzic 003bc93dd0
commit ab34e83adc
1 zmienionych plików z 61 dodań i 59 usunięć

Wyświetl plik

@ -120,11 +120,11 @@ int is_uh_radio_fd(int fd)
{ {
if (uh_radio_fd >= 0 && uh_radio_fd == fd) if (uh_radio_fd >= 0 && uh_radio_fd == fd)
{ {
return 1; RETURNFUNC( 1);
} }
else else
{ {
return 0; RETURNFUNC( 0);
} }
} }
//! @endcond //! @endcond
@ -141,13 +141,15 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
int fd; /* File descriptor for the port */ int fd; /* File descriptor for the port */
int err; int err;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
if (!rp) if (!rp)
{ {
return -RIG_EINVAL; RETURNFUNC(-RIG_EINVAL);
} }
rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, rp->pathname);
if (!strncmp(rp->pathname, "uh-rig", 6)) if (!strncmp(rp->pathname, "uh-rig", 6))
{ {
/* /*
@ -158,13 +160,13 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
*/ */
if (rp->parm.serial.parity != RIG_PARITY_NONE) if (rp->parm.serial.parity != RIG_PARITY_NONE)
{ {
return -RIG_EIO; RETURNFUNC( -RIG_EIO);
} }
if ((rp->parm.serial.handshake != RIG_HANDSHAKE_HARDWARE) && if ((rp->parm.serial.handshake != RIG_HANDSHAKE_HARDWARE) &&
(rp->parm.serial.handshake != RIG_HANDSHAKE_NONE)) (rp->parm.serial.handshake != RIG_HANDSHAKE_NONE))
{ {
return -RIG_EIO; RETURNFUNC( -RIG_EIO);
} }
/* /*
@ -179,7 +181,7 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
if (fd == -1) if (fd == -1)
{ {
return -RIG_EIO; RETURNFUNC( -RIG_EIO);
} }
rp->fd = fd; rp->fd = fd;
@ -215,7 +217,7 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
* from the transceiver will be returned to both applications. * from the transceiver will be returned to both applications.
*/ */
uh_radio_fd = fd; uh_radio_fd = fd;
return RIG_OK; RETURNFUNC( RIG_OK);
} }
/* /*
@ -231,7 +233,7 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
__func__, __func__,
rp->pathname, rp->pathname,
strerror(errno)); strerror(errno));
return -RIG_EIO; RETURNFUNC( -RIG_EIO);
} }
rp->fd = fd; rp->fd = fd;
@ -241,13 +243,13 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
if (err != RIG_OK) if (err != RIG_OK)
{ {
CLOSE(fd); CLOSE(fd);
return err; RETURNFUNC( err);
} }
serial_flush(rp); // ensure nothing is there when we open serial_flush(rp); // ensure nothing is there when we open
hl_usleep(50 * 1000); // give a little time for MicroKeyer to finish hl_usleep(50 * 1000); // give a little time for MicroKeyer to finish
return RIG_OK; RETURNFUNC( RIG_OK);
} }
@ -272,11 +274,11 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
#endif #endif
term_options_backup_t *term_backup = NULL; term_options_backup_t *term_backup = NULL;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
if (!rp) if (!rp)
{ {
return -RIG_EINVAL; RETURNFUNC( -RIG_EINVAL);
} }
fd = rp->fd; fd = rp->fd;
@ -367,7 +369,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
rp->parm.serial.rate); rp->parm.serial.rate);
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; RETURNFUNC( -RIG_ECONF);
} }
/* TODO */ /* TODO */
@ -414,7 +416,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
rp->parm.serial.data_bits); rp->parm.serial.data_bits);
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; RETURNFUNC( -RIG_ECONF);
break; break;
} }
@ -439,7 +441,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
rp->parm.serial.stop_bits); rp->parm.serial.stop_bits);
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; RETURNFUNC( -RIG_ECONF);
break; break;
} }
@ -485,7 +487,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
rp->parm.serial.parity); rp->parm.serial.parity);
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; RETURNFUNC( -RIG_ECONF);
break; break;
} }
@ -518,7 +520,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
rp->parm.serial.handshake); rp->parm.serial.handshake);
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; RETURNFUNC( -RIG_ECONF);
break; break;
} }
@ -563,7 +565,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
strerror(errno)); strerror(errno));
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; /* arg, so close! */ RETURNFUNC( -RIG_ECONF); /* arg, so close! */
} }
#elif defined(HAVE_TERMIO_H) #elif defined(HAVE_TERMIO_H)
@ -578,7 +580,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
strerror(errno)); strerror(errno));
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; /* arg, so close! */ RETURNFUNC( -RIG_ECONF); /* arg, so close! */
} }
#else #else
@ -594,7 +596,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
strerror(errno)); strerror(errno));
CLOSE(fd); CLOSE(fd);
return -RIG_ECONF; /* arg, so close! */ RETURNFUNC( -RIG_ECONF); /* arg, so close! */
} }
#endif #endif
@ -612,7 +614,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
term_backup->next = term_options_backup_head; term_backup->next = term_options_backup_head;
term_options_backup_head = term_backup; term_options_backup_head = term_backup;
return RIG_OK; RETURNFUNC( RIG_OK);
} }
@ -623,7 +625,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
*/ */
int HAMLIB_API serial_flush(hamlib_port_t *p) int HAMLIB_API serial_flush(hamlib_port_t *p)
{ {
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd || p->flushx) if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd || p->flushx)
{ {
@ -650,12 +652,12 @@ int HAMLIB_API serial_flush(hamlib_port_t *p)
rig_debug(RIG_DEBUG_TRACE, "read flushed %d bytes\n", nbytes); rig_debug(RIG_DEBUG_TRACE, "read flushed %d bytes\n", nbytes);
return RIG_OK; RETURNFUNC( RIG_OK);
} }
rig_debug(RIG_DEBUG_VERBOSE, "tcflush%s\n", ""); rig_debug(RIG_DEBUG_VERBOSE, "tcflush%s\n", "");
tcflush(p->fd, TCIFLUSH); tcflush(p->fd, TCIFLUSH);
return RIG_OK; RETURNFUNC( RIG_OK);
} }
@ -703,7 +705,7 @@ int ser_open(hamlib_port_t *p)
} }
p->fd = ret; p->fd = ret;
return ret; RETURNFUNC( ret);
} }
@ -730,7 +732,7 @@ int ser_close(hamlib_port_t *p)
uh_close_ptt(); uh_close_ptt();
uh_ptt_fd = -1; uh_ptt_fd = -1;
p->fd = -1; p->fd = -1;
return 0; RETURNFUNC( 0);
} }
if (p->fd == uh_radio_fd) if (p->fd == uh_radio_fd)
@ -738,7 +740,7 @@ int ser_close(hamlib_port_t *p)
uh_close_radio(); uh_close_radio();
uh_radio_fd = -1; uh_radio_fd = -1;
p->fd = -1; p->fd = -1;
return 0; RETURNFUNC( 0);
} }
// Find backup termios options to restore before closing // Find backup termios options to restore before closing
@ -812,7 +814,7 @@ int ser_close(hamlib_port_t *p)
rc = CLOSE(p->fd); rc = CLOSE(p->fd);
p->fd = -1; p->fd = -1;
return rc; RETURNFUNC( rc);
} }
@ -827,14 +829,14 @@ int HAMLIB_API ser_set_rts(hamlib_port_t *p, int state)
unsigned int y = TIOCM_RTS; unsigned int y = TIOCM_RTS;
int rc; int rc;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
rig_debug(RIG_DEBUG_VERBOSE, "%s: RTS=%d\n", __func__, state); rig_debug(RIG_DEBUG_VERBOSE, "%s: RTS=%d\n", __func__, state);
// ignore this for microHam ports // ignore this for microHam ports
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd) if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
{ {
return RIG_OK; RETURNFUNC( RIG_OK);
} }
#if defined(TIOCMBIS) && defined(TIOCMBIC) #if defined(TIOCMBIS) && defined(TIOCMBIC)
@ -864,10 +866,10 @@ int HAMLIB_API ser_set_rts(hamlib_port_t *p, int state)
"%s: Cannot change RTS - %s\n", "%s: Cannot change RTS - %s\n",
__func__, __func__,
strerror(errno)); strerror(errno));
return -RIG_EIO; RETURNFUNC( -RIG_EIO);
} }
return RIG_OK; RETURNFUNC( RIG_OK);
} }
@ -881,18 +883,18 @@ int HAMLIB_API ser_get_rts(hamlib_port_t *p, int *state)
int retcode; int retcode;
unsigned int y; unsigned int y;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
// cannot do this for microHam ports // cannot do this for microHam ports
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd) if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
{ {
return -RIG_ENIMPL; RETURNFUNC( -RIG_ENIMPL);
} }
retcode = IOCTL(p->fd, TIOCMGET, &y); retcode = IOCTL(p->fd, TIOCMGET, &y);
*state = (y & TIOCM_RTS) == TIOCM_RTS; *state = (y & TIOCM_RTS) == TIOCM_RTS;
return retcode < 0 ? -RIG_EIO : RIG_OK; RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
} }
@ -907,7 +909,7 @@ int HAMLIB_API ser_set_dtr(hamlib_port_t *p, int state)
unsigned int y = TIOCM_DTR; unsigned int y = TIOCM_DTR;
int rc; int rc;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
rig_debug(RIG_DEBUG_VERBOSE, "%s: DTR=%d\n", __func__, state); rig_debug(RIG_DEBUG_VERBOSE, "%s: DTR=%d\n", __func__, state);
@ -915,13 +917,13 @@ int HAMLIB_API ser_set_dtr(hamlib_port_t *p, int state)
// but (un)set ptt on microHam PTT channel. // but (un)set ptt on microHam PTT channel.
if (p->fd == uh_radio_fd) if (p->fd == uh_radio_fd)
{ {
return RIG_OK; RETURNFUNC( RIG_OK);
} }
if (p->fd == uh_ptt_fd) if (p->fd == uh_ptt_fd)
{ {
uh_set_ptt(state); uh_set_ptt(state);
return RIG_OK; RETURNFUNC( RIG_OK);
} }
#if defined(TIOCMBIS) && defined(TIOCMBIC) #if defined(TIOCMBIS) && defined(TIOCMBIC)
@ -951,10 +953,10 @@ int HAMLIB_API ser_set_dtr(hamlib_port_t *p, int state)
"%s: Cannot change DTR - %s\n", "%s: Cannot change DTR - %s\n",
__func__, __func__,
strerror(errno)); strerror(errno));
return -RIG_EIO; RETURNFUNC( -RIG_EIO);
} }
return RIG_OK; RETURNFUNC( RIG_OK);
} }
@ -968,24 +970,24 @@ int HAMLIB_API ser_get_dtr(hamlib_port_t *p, int *state)
int retcode; int retcode;
unsigned int y; unsigned int y;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
// cannot do this for the RADIO port, return PTT state for the PTT port // cannot do this for the RADIO port, return PTT state for the PTT port
if (p->fd == uh_ptt_fd) if (p->fd == uh_ptt_fd)
{ {
*state = uh_get_ptt(); *state = uh_get_ptt();
return RIG_OK; RETURNFUNC( RIG_OK);
} }
if (p->fd == uh_radio_fd) if (p->fd == uh_radio_fd)
{ {
return -RIG_ENIMPL; RETURNFUNC( -RIG_ENIMPL);
} }
retcode = IOCTL(p->fd, TIOCMGET, &y); retcode = IOCTL(p->fd, TIOCMGET, &y);
*state = (y & TIOCM_DTR) == TIOCM_DTR; *state = (y & TIOCM_DTR) == TIOCM_DTR;
return retcode < 0 ? -RIG_EIO : RIG_OK; RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
} }
@ -997,19 +999,19 @@ int HAMLIB_API ser_get_dtr(hamlib_port_t *p, int *state)
*/ */
int HAMLIB_API ser_set_brk(hamlib_port_t *p, int state) int HAMLIB_API ser_set_brk(hamlib_port_t *p, int state)
{ {
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
// ignore this for microHam ports // ignore this for microHam ports
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd) if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
{ {
return RIG_OK; RETURNFUNC( RIG_OK);
} }
#if defined(TIOCSBRK) && defined(TIOCCBRK) #if defined(TIOCSBRK) && defined(TIOCCBRK)
return IOCTL(p->fd, state ? TIOCSBRK : TIOCCBRK, 0) < 0 ? RETURNFUNC( IOCTL(p->fd, state ? TIOCSBRK : TIOCCBRK, 0) < 0 ?
-RIG_EIO : RIG_OK; -RIG_EIO : RIG_OK;)
#else #else
return -RIG_ENIMPL; RETURNFUNC( -RIG_ENIMPL);
#endif #endif
} }
@ -1024,18 +1026,18 @@ int HAMLIB_API ser_get_car(hamlib_port_t *p, int *state)
int retcode; int retcode;
unsigned int y; unsigned int y;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
// cannot do this for microHam ports // cannot do this for microHam ports
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd) if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
{ {
return -RIG_ENIMPL; RETURNFUNC( -RIG_ENIMPL);
} }
retcode = IOCTL(p->fd, TIOCMGET, &y); retcode = IOCTL(p->fd, TIOCMGET, &y);
*state = (y & TIOCM_CAR) == TIOCM_CAR; *state = (y & TIOCM_CAR) == TIOCM_CAR;
return retcode < 0 ? -RIG_EIO : RIG_OK; RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
} }
@ -1049,18 +1051,18 @@ int HAMLIB_API ser_get_cts(hamlib_port_t *p, int *state)
int retcode; int retcode;
unsigned int y; unsigned int y;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
// cannot do this for microHam ports // cannot do this for microHam ports
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd) if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
{ {
return -RIG_ENIMPL; RETURNFUNC( -RIG_ENIMPL);
} }
retcode = IOCTL(p->fd, TIOCMGET, &y); retcode = IOCTL(p->fd, TIOCMGET, &y);
*state = (y & TIOCM_CTS) == TIOCM_CTS; *state = (y & TIOCM_CTS) == TIOCM_CTS;
return retcode < 0 ? -RIG_EIO : RIG_OK; RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
} }
@ -1074,18 +1076,18 @@ int HAMLIB_API ser_get_dsr(hamlib_port_t *p, int *state)
int retcode; int retcode;
unsigned int y; unsigned int y;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); ENTERFUNC;
// cannot do this for microHam ports // cannot do this for microHam ports
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd) if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
{ {
return -RIG_ENIMPL; RETURNFUNC( -RIG_ENIMPL);
} }
retcode = IOCTL(p->fd, TIOCMGET, &y); retcode = IOCTL(p->fd, TIOCMGET, &y);
*state = (y & TIOCM_DSR) == TIOCM_DSR; *state = (y & TIOCM_DSR) == TIOCM_DSR;
return retcode < 0 ? -RIG_EIO : RIG_OK; RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
} }
/** @} */ /** @} */