1
0
mirror of git://sigrok.org/libserialport synced 2023-08-10 21:13:24 +03:00

Minor cosmetics, typos, and so on.

This commit is contained in:
Uwe Hermann 2013-11-14 17:33:53 +01:00
parent 8094e4a0ce
commit f92f1f0c20
4 changed files with 26 additions and 15 deletions

6
README
View File

@ -1,6 +1,6 @@
---------------------------------------------------------------- -------------------------------------------------------------------------------
libserialport: cross-platform library for accessing serial ports libserialport: cross-platform library for accessing serial ports
---------------------------------------------------------------- -------------------------------------------------------------------------------
libserialport is a minimal library written in C that is intended to take care libserialport is a minimal library written in C that is intended to take care
of the OS-specific details when writing software that uses serial ports. of the OS-specific details when writing software that uses serial ports.
@ -75,7 +75,7 @@ can be obtained by calling sp_last_error_code() or sp_last_error_message(). The
error code or message is that provided by the OS; libserialport does not define error code or message is that provided by the OS; libserialport does not define
any error codes or messages of its own. any error codes or messages of its own.
Functions calls that succeed return SP_OK, which is equal to zero, or where Function calls that succeed return SP_OK, which is equal to zero, or where
otherwise documented a positive value. otherwise documented a positive value.
The available functions are as follows: The available functions are as follows:

View File

@ -58,6 +58,7 @@ AM_PROG_CC_C_O
LT_INIT LT_INIT
# Initialize pkg-config. # Initialize pkg-config.
# We require at least 0.22, as "Requires.private" behaviour changed there.
PKG_PROG_PKG_CONFIG([0.22]) PKG_PROG_PKG_CONFIG([0.22])
# Library version for libserialport (NOT the same as the package version). # Library version for libserialport (NOT the same as the package version).
@ -76,11 +77,13 @@ AC_SUBST(SP_LIB_VERSION)
AC_SUBST(SP_LIB_LDFLAGS) AC_SUBST(SP_LIB_LDFLAGS)
# Checks for header files. # Checks for header files.
# These are already checked: inttypes.h stdint.h stdlib.h string.h unistd.h. # These are already checked: inttypes.h dlfcn.h memory.h stdint.h stdlib.h
AC_CHECK_HEADERS([sys/types.h sys/stat.h fcntl.h termios.h sys/ioctl.h errno.h]) # string.h strings.h sys/types.h sys/stat.h unistd.h
AC_CHECK_HEADERS([errno.h fcntl.h stddef.h sys/ioctl.h termios.h])
case $target_os in case $target_os in
*linux*) *linux*)
# On Linux libudev is currently a hard requirement.
PKG_CHECK_MODULES([libudev], [libudev >= 0], PKG_CHECK_MODULES([libudev], [libudev >= 0],
[CFLAGS="$CFLAGS $libudev_CFLAGS"; LIBS="$LIBS $libudev_LIBS"], [CFLAGS="$CFLAGS $libudev_CFLAGS"; LIBS="$LIBS $libudev_LIBS"],
[AC_MSG_ERROR([libudev.h not found])]) [AC_MSG_ERROR([libudev.h not found])])

View File

@ -17,8 +17,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef SERIALPORT_H #ifndef LIBSERIALPORT_H
#define SERIALPORT_H #define LIBSERIALPORT_H
#include <stddef.h> #include <stddef.h>
#ifdef _WIN32 #ifdef _WIN32
@ -46,7 +46,7 @@ enum {
/* A system error occured while executing the operation. */ /* A system error occured while executing the operation. */
SP_ERR_FAIL = -2, SP_ERR_FAIL = -2,
/* A memory allocation failed while executing the operation. */ /* A memory allocation failed while executing the operation. */
SP_ERR_MEM = -3 SP_ERR_MEM = -3,
}; };
/* Port access modes. */ /* Port access modes. */
@ -56,7 +56,7 @@ enum {
/* Open port for read access only. */ /* Open port for read access only. */
SP_MODE_RDONLY = 2, SP_MODE_RDONLY = 2,
/* Open port in non-blocking mode. */ /* Open port in non-blocking mode. */
SP_MODE_NONBLOCK = 4 SP_MODE_NONBLOCK = 4,
}; };
/* Parity settings. */ /* Parity settings. */
@ -66,7 +66,7 @@ enum {
/* Even parity. */ /* Even parity. */
SP_PARITY_EVEN = 1, SP_PARITY_EVEN = 1,
/* Odd parity. */ /* Odd parity. */
SP_PARITY_ODD = 2 SP_PARITY_ODD = 2,
}; };
/* Flow control settings. */ /* Flow control settings. */
@ -76,7 +76,7 @@ enum {
/* Hardware (RTS/CTS) flow control. */ /* Hardware (RTS/CTS) flow control. */
SP_FLOW_HARDWARE = 1, SP_FLOW_HARDWARE = 1,
/* Software (XON/XOFF) flow control. */ /* Software (XON/XOFF) flow control. */
SP_FLOW_SOFTWARE = 2 SP_FLOW_SOFTWARE = 2,
}; };
int sp_get_port_by_name(const char *portname, struct sp_port **port_ptr); int sp_get_port_by_name(const char *portname, struct sp_port **port_ptr);
@ -95,4 +95,4 @@ int sp_last_error_code(void);
char *sp_last_error_message(void); char *sp_last_error_message(void);
void sp_free_error_message(char *message); void sp_free_error_message(char *message);
#endif /* SERIALPORT_H */ #endif /* LIBSERIALPORT_H */

View File

@ -116,6 +116,7 @@ static struct sp_port **sp_list_append(struct sp_port **list, const char *portna
{ {
void *tmp; void *tmp;
unsigned int count; unsigned int count;
for (count = 0; list[count]; count++); for (count = 0; list[count]; count++);
if (!(tmp = realloc(list, sizeof(struct sp_port *) * (count + 2)))) if (!(tmp = realloc(list, sizeof(struct sp_port *) * (count + 2))))
goto fail; goto fail;
@ -124,6 +125,7 @@ static struct sp_port **sp_list_append(struct sp_port **list, const char *portna
goto fail; goto fail;
list[count + 1] = NULL; list[count + 1] = NULL;
return list; return list;
fail: fail:
sp_free_port_list(list); sp_free_port_list(list);
return NULL; return NULL;
@ -135,7 +137,7 @@ int sp_list_ports(struct sp_port ***list_ptr)
int ret = SP_OK; int ret = SP_OK;
if (!(list = malloc(sizeof(struct sp_port **)))) if (!(list = malloc(sizeof(struct sp_port **))))
return SP_ERR_MEM;; return SP_ERR_MEM;
list[0] = NULL; list[0] = NULL;
@ -343,6 +345,7 @@ out:
void sp_free_port_list(struct sp_port **list) void sp_free_port_list(struct sp_port **list)
{ {
unsigned int i; unsigned int i;
for (i = 0; list[i]; i++) for (i = 0; list[i]; i++)
sp_free_port(list[i]); sp_free_port(list[i]);
free(list); free(list);
@ -395,6 +398,7 @@ int sp_open(struct sp_port *port, int flags)
return SP_ERR_FAIL; return SP_ERR_FAIL;
#else #else
int flags_local = 0; int flags_local = 0;
/* Map 'flags' to the OS-specific settings. */ /* Map 'flags' to the OS-specific settings. */
if (flags & SP_MODE_RDWR) if (flags & SP_MODE_RDWR)
flags_local |= O_RDWR; flags_local |= O_RDWR;
@ -452,6 +456,7 @@ int sp_write(struct sp_port *port, const void *buf, size_t count)
#ifdef _WIN32 #ifdef _WIN32
DWORD written = 0; DWORD written = 0;
/* Returns non-zero upon success, 0 upon failure. */ /* Returns non-zero upon success, 0 upon failure. */
if (WriteFile(port->hdl, buf, count, &written, NULL) == 0) if (WriteFile(port->hdl, buf, count, &written, NULL) == 0)
return SP_ERR_FAIL; return SP_ERR_FAIL;
@ -459,10 +464,11 @@ int sp_write(struct sp_port *port, const void *buf, size_t count)
#else #else
/* Returns the number of bytes written, or -1 upon failure. */ /* Returns the number of bytes written, or -1 upon failure. */
ssize_t written = write(port->fd, buf, count); ssize_t written = write(port->fd, buf, count);
if (written < 0) if (written < 0)
return SP_ERR_FAIL; return SP_ERR_FAIL;
else else
return written;; return written;
#endif #endif
} }
@ -475,12 +481,14 @@ int sp_read(struct sp_port *port, void *buf, size_t count)
#ifdef _WIN32 #ifdef _WIN32
DWORD bytes_read = 0; DWORD bytes_read = 0;
/* Returns non-zero upon success, 0 upon failure. */ /* Returns non-zero upon success, 0 upon failure. */
if (ReadFile(port->hdl, buf, count, &bytes_read, NULL) == 0) if (ReadFile(port->hdl, buf, count, &bytes_read, NULL) == 0)
return SP_ERR_FAIL; return SP_ERR_FAIL;
return bytes_read; return bytes_read;
#else #else
ssize_t bytes_read; ssize_t bytes_read;
/* Returns the number of bytes read, or -1 upon failure. */ /* Returns the number of bytes read, or -1 upon failure. */
if ((bytes_read = read(port->fd, buf, count)) < 0) if ((bytes_read = read(port->fd, buf, count)) < 0)
return SP_ERR_FAIL; return SP_ERR_FAIL;