X-Git-Url: https://sigrok.org/gitweb/?p=libserialport.git;a=blobdiff_plain;f=libserialport.h.in;h=8962ef8d942eb5fb6f368408b62feea9998a2a97;hp=9ec7bf114764e7c210c499cb2a67a3a04c3b8d49;hb=HEAD;hpb=18fc2dd12bdc4965f705d3bd6d1ebfda3abdbe80 diff --git a/libserialport.h.in b/libserialport.h.in deleted file mode 100644 index 9ec7bf1..0000000 --- a/libserialport.h.in +++ /dev/null @@ -1,183 +0,0 @@ -/* - * This file is part of the libserialport project. - * - * Copyright (C) 2013 Martin Ling - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -#ifndef LIBSERIALPORT_H -#define LIBSERIALPORT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef _WIN32 -#include -#endif - -/* Package version macros (e.g. for conditional compilation). */ -#define SP_PACKAGE_VERSION_MAJOR @SP_PACKAGE_VERSION_MAJOR@ -#define SP_PACKAGE_VERSION_MINOR @SP_PACKAGE_VERSION_MINOR@ -#define SP_PACKAGE_VERSION_STRING "@SP_PACKAGE_VERSION@" - -/* Library/libtool version macros (e.g. for conditional compilation). */ -#define SP_LIB_VERSION_CURRENT @SP_LIB_VERSION_CURRENT@ -#define SP_LIB_VERSION_REVISION @SP_LIB_VERSION_REVISION@ -#define SP_LIB_VERSION_AGE @SP_LIB_VERSION_AGE@ -#define SP_LIB_VERSION_STRING "@SP_LIB_VERSION@" - -/* A serial port. */ -struct sp_port { - /* Name used to open the port */ - char *name; - /* OS-specific port handle */ -#ifdef _WIN32 - HANDLE hdl; -#else - int fd; -#endif -}; - -/* Configuration for a serial port. */ -struct sp_port_config { - int baudrate; - int bits; - int parity; - int stopbits; - int flowcontrol; - int rts; - int cts; - int dtr; - int dsr; - int xon_xoff; -}; - -/* Return values. */ -enum { - /* Operation completed successfully. */ - SP_OK = 0, - /* Invalid arguments were passed to the function. */ - SP_ERR_ARG = -1, - /* A system error occured while executing the operation. */ - SP_ERR_FAIL = -2, - /* A memory allocation failed while executing the operation. */ - SP_ERR_MEM = -3, -}; - -/* Port access modes. */ -enum { - /* Open port for read/write access. */ - SP_MODE_RDWR = 1, - /* Open port for read access only. */ - SP_MODE_RDONLY = 2, - /* Open port in non-blocking mode. */ - SP_MODE_NONBLOCK = 4, -}; - -/* Parity settings. */ -enum { - /* No parity. */ - SP_PARITY_NONE = 0, - /* Even parity. */ - SP_PARITY_EVEN = 1, - /* Odd parity. */ - SP_PARITY_ODD = 2, -}; - -/* RTS pin behaviour. */ -enum { - SP_RTS_OFF = 0, - SP_RTS_ON = 1, - SP_RTS_FLOW_CONTROL = 2 -}; - -/* CTS pin behaviour. */ -enum { - SP_CTS_IGNORE = 0, - SP_CTS_FLOW_CONTROL = 1 -}; - -/* DTR pin behaviour. */ -enum { - SP_DTR_OFF = 0, - SP_DTR_ON = 1, - SP_DTR_FLOW_CONTROL = 2 -}; - -/* DSR pin behaviour. */ -enum { - SP_DSR_IGNORE = 0, - SP_DSR_FLOW_CONTROL = 1 -}; - -/* XON/XOFF flow control behaviour. */ -enum { - SP_XONXOFF_DISABLED = 0, - SP_XONXOFF_IN = 1, - SP_XONXOFF_OUT = 2, - SP_XONXOFF_INOUT = 3 -}; - -/* Standard flow control combinations. */ -enum { - SP_FLOWCONTROL_NONE = 0, - SP_FLOWCONTROL_XONXOFF = 1, - SP_FLOWCONTROL_RTSCTS = 2, - SP_FLOWCONTROL_DTRDSR = 3 -}; - -/* Enumeration */ -int sp_get_port_by_name(const char *portname, struct sp_port **port_ptr); -void sp_free_port(struct sp_port *port); -int sp_list_ports(struct sp_port ***list_ptr); -int sp_copy_port(const struct sp_port *port, struct sp_port **copy_ptr); -void sp_free_port_list(struct sp_port **ports); - -/* Opening & closing ports */ -int sp_open(struct sp_port *port, int flags); -int sp_close(struct sp_port *port); - -/* Reading, writing and flushing. */ -int sp_read(struct sp_port *port, void *buf, size_t count); -int sp_write(struct sp_port *port, const void *buf, size_t count); -int sp_flush(struct sp_port *port); - -/* Basic port configuration */ -int sp_set_config(struct sp_port *port, struct sp_port_config *config); -int sp_set_baudrate(struct sp_port *port, int baudrate); -int sp_set_bits(struct sp_port *port, int bits); -int sp_set_parity(struct sp_port *port, int parity); -int sp_set_stopbits(struct sp_port *port, int stopbits); -int sp_set_flowcontrol(struct sp_port *port, int flowcontrol); - -/* Advanced port configuration */ -int sp_set_rts(struct sp_port *port, int rts); -int sp_set_cts(struct sp_port *port, int cts); -int sp_set_dtr(struct sp_port *port, int dtr); -int sp_set_dsr(struct sp_port *port, int dsr); -int sp_set_xon_xoff(struct sp_port *port, int xon_xoff); - -/* Error handling */ -int sp_last_error_code(void); -char *sp_last_error_message(void); -void sp_free_error_message(char *message); - -#ifdef __cplusplus -} -#endif - -#endif /* LIBSERIALPORT_H */