diff --git a/Doxyfile b/Doxyfile index 719d04f..0ac1014 100644 --- a/Doxyfile +++ b/Doxyfile @@ -2135,7 +2135,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = +PREDEFINED = SP_API # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The diff --git a/Makefile.am b/Makefile.am index bbc4b3b..b2a1293 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,6 +24,9 @@ GNUMAKEFLAGS = --no-print-directory # Enable more compiler warnings. AM_CFLAGS = -std=c99 -Wall -Wextra -pedantic -Wmissing-prototypes -Wshadow +# Set flag used in libserialport.h to indicate we are building the library +# using autotools. +AM_CFLAGS += -DLIBSERIALPORT_ATBUILD lib_LTLIBRARIES = libserialport.la diff --git a/libserialport.h b/libserialport.h index 235263f..33f3e91 100644 --- a/libserialport.h +++ b/libserialport.h @@ -274,6 +274,25 @@ extern "C" { #include +/** @cond */ +#ifdef _MSC_VER +/* Microsoft Visual C/C++ compiler in use */ +#ifdef LIBSERIALPORT_MSBUILD +/* Building the library - need to export DLL symbols */ +#define SP_API __declspec(dllexport) +#else +/* Using the library - need to import DLL symbols */ +#define SP_API __declspec(dllimport) +#endif +#else +/* Some other compiler in use */ +#ifndef LIBSERIALPORT_ATBUILD +/* Not building the library itself - don't need any special prefixes. */ +#define SP_API +#endif +#endif +/** @endcond */ + /** Return values. */ enum sp_return { /** Operation completed successfully. */ @@ -482,7 +501,7 @@ struct sp_event_set { * * @since 0.1.0 */ -enum sp_return sp_get_port_by_name(const char *portname, struct sp_port **port_ptr); +SP_API enum sp_return sp_get_port_by_name(const char *portname, struct sp_port **port_ptr); /** * Free a port structure obtained from sp_get_port_by_name() or sp_copy_port(). @@ -491,7 +510,7 @@ enum sp_return sp_get_port_by_name(const char *portname, struct sp_port **port_p * * @since 0.1.0 */ -void sp_free_port(struct sp_port *port); +SP_API void sp_free_port(struct sp_port *port); /** * List the serial ports available on the system. @@ -512,7 +531,7 @@ void sp_free_port(struct sp_port *port); * * @since 0.1.0 */ -enum sp_return sp_list_ports(struct sp_port ***list_ptr); +SP_API enum sp_return sp_list_ports(struct sp_port ***list_ptr); /** * Make a new copy of an sp_port structure. @@ -531,7 +550,7 @@ enum sp_return sp_list_ports(struct sp_port ***list_ptr); * * @since 0.1.0 */ -enum sp_return sp_copy_port(const struct sp_port *port, struct sp_port **copy_ptr); +SP_API enum sp_return sp_copy_port(const struct sp_port *port, struct sp_port **copy_ptr); /** * Free a port list obtained from sp_list_ports(). @@ -543,7 +562,7 @@ enum sp_return sp_copy_port(const struct sp_port *port, struct sp_port **copy_pt * * @since 0.1.0 */ -void sp_free_port_list(struct sp_port **ports); +SP_API void sp_free_port_list(struct sp_port **ports); /** * @} @@ -566,7 +585,7 @@ void sp_free_port_list(struct sp_port **ports); * * @since 0.1.0 */ -enum sp_return sp_open(struct sp_port *port, enum sp_mode flags); +SP_API enum sp_return sp_open(struct sp_port *port, enum sp_mode flags); /** * Close the specified serial port. @@ -577,7 +596,7 @@ enum sp_return sp_open(struct sp_port *port, enum sp_mode flags); * * @since 0.1.0 */ -enum sp_return sp_close(struct sp_port *port); +SP_API enum sp_return sp_close(struct sp_port *port); /** * Get the name of a port. @@ -594,7 +613,7 @@ enum sp_return sp_close(struct sp_port *port); * * @since 0.1.0 */ -char *sp_get_port_name(const struct sp_port *port); +SP_API char *sp_get_port_name(const struct sp_port *port); /** * Get a description for a port, to present to end user. @@ -607,7 +626,7 @@ char *sp_get_port_name(const struct sp_port *port); * * @since 0.1.1 */ -char *sp_get_port_description(const struct sp_port *port); +SP_API char *sp_get_port_description(const struct sp_port *port); /** * Get the transport type used by a port. @@ -618,7 +637,7 @@ char *sp_get_port_description(const struct sp_port *port); * * @since 0.1.1 */ -enum sp_transport sp_get_port_transport(const struct sp_port *port); +SP_API enum sp_transport sp_get_port_transport(const struct sp_port *port); /** * Get the USB bus number and address on bus of a USB serial adapter port. @@ -633,7 +652,7 @@ enum sp_transport sp_get_port_transport(const struct sp_port *port); * * @since 0.1.1 */ -enum sp_return sp_get_port_usb_bus_address(const struct sp_port *port, +SP_API enum sp_return sp_get_port_usb_bus_address(const struct sp_port *port, int *usb_bus, int *usb_address); /** @@ -649,7 +668,7 @@ enum sp_return sp_get_port_usb_bus_address(const struct sp_port *port, * * @since 0.1.1 */ -enum sp_return sp_get_port_usb_vid_pid(const struct sp_port *port, int *usb_vid, int *usb_pid); +SP_API enum sp_return sp_get_port_usb_vid_pid(const struct sp_port *port, int *usb_vid, int *usb_pid); /** * Get the USB manufacturer string of a USB serial adapter port. @@ -662,7 +681,7 @@ enum sp_return sp_get_port_usb_vid_pid(const struct sp_port *port, int *usb_vid, * * @since 0.1.1 */ -char *sp_get_port_usb_manufacturer(const struct sp_port *port); +SP_API char *sp_get_port_usb_manufacturer(const struct sp_port *port); /** * Get the USB product string of a USB serial adapter port. @@ -675,7 +694,7 @@ char *sp_get_port_usb_manufacturer(const struct sp_port *port); * * @since 0.1.1 */ -char *sp_get_port_usb_product(const struct sp_port *port); +SP_API char *sp_get_port_usb_product(const struct sp_port *port); /** * Get the USB serial number string of a USB serial adapter port. @@ -688,7 +707,7 @@ char *sp_get_port_usb_product(const struct sp_port *port); * * @since 0.1.1 */ -char *sp_get_port_usb_serial(const struct sp_port *port); +SP_API char *sp_get_port_usb_serial(const struct sp_port *port); /** * Get the MAC address of a Bluetooth serial adapter port. @@ -701,7 +720,7 @@ char *sp_get_port_usb_serial(const struct sp_port *port); * * @since 0.1.1 */ -char *sp_get_port_bluetooth_address(const struct sp_port *port); +SP_API char *sp_get_port_bluetooth_address(const struct sp_port *port); /** * Get the operating system handle for a port. @@ -733,7 +752,7 @@ char *sp_get_port_bluetooth_address(const struct sp_port *port); * * @since 0.1.0 */ -enum sp_return sp_get_port_handle(const struct sp_port *port, void *result_ptr); +SP_API enum sp_return sp_get_port_handle(const struct sp_port *port, void *result_ptr); /** * @} @@ -766,7 +785,7 @@ enum sp_return sp_get_port_handle(const struct sp_port *port, void *result_ptr); * * @since 0.1.0 */ -enum sp_return sp_new_config(struct sp_port_config **config_ptr); +SP_API enum sp_return sp_new_config(struct sp_port_config **config_ptr); /** * Free a port configuration structure. @@ -775,7 +794,7 @@ enum sp_return sp_new_config(struct sp_port_config **config_ptr); * * @since 0.1.0 */ -void sp_free_config(struct sp_port_config *config); +SP_API void sp_free_config(struct sp_port_config *config); /** * Get the current configuration of the specified serial port. @@ -797,7 +816,7 @@ void sp_free_config(struct sp_port_config *config); * * @since 0.1.0 */ -enum sp_return sp_get_config(struct sp_port *port, struct sp_port_config *config); +SP_API enum sp_return sp_get_config(struct sp_port *port, struct sp_port_config *config); /** * Set the configuration for the specified serial port. @@ -816,7 +835,7 @@ enum sp_return sp_get_config(struct sp_port *port, struct sp_port_config *config * * @since 0.1.0 */ -enum sp_return sp_set_config(struct sp_port *port, const struct sp_port_config *config); +SP_API enum sp_return sp_set_config(struct sp_port *port, const struct sp_port_config *config); /** * Set the baud rate for the specified serial port. @@ -828,7 +847,7 @@ enum sp_return sp_set_config(struct sp_port *port, const struct sp_port_config * * * @since 0.1.0 */ -enum sp_return sp_set_baudrate(struct sp_port *port, int baudrate); +SP_API enum sp_return sp_set_baudrate(struct sp_port *port, int baudrate); /** * Get the baud rate from a port configuration. @@ -843,7 +862,7 @@ enum sp_return sp_set_baudrate(struct sp_port *port, int baudrate); * * @since 0.1.0 */ -enum sp_return sp_get_config_baudrate(const struct sp_port_config *config, int *baudrate_ptr); +SP_API enum sp_return sp_get_config_baudrate(const struct sp_port_config *config, int *baudrate_ptr); /** * Set the baud rate in a port configuration. @@ -855,7 +874,7 @@ enum sp_return sp_get_config_baudrate(const struct sp_port_config *config, int * * * @since 0.1.0 */ -enum sp_return sp_set_config_baudrate(struct sp_port_config *config, int baudrate); +SP_API enum sp_return sp_set_config_baudrate(struct sp_port_config *config, int baudrate); /** * Set the data bits for the specified serial port. @@ -867,7 +886,7 @@ enum sp_return sp_set_config_baudrate(struct sp_port_config *config, int baudrat * * @since 0.1.0 */ -enum sp_return sp_set_bits(struct sp_port *port, int bits); +SP_API enum sp_return sp_set_bits(struct sp_port *port, int bits); /** * Get the data bits from a port configuration. @@ -882,7 +901,7 @@ enum sp_return sp_set_bits(struct sp_port *port, int bits); * * @since 0.1.0 */ -enum sp_return sp_get_config_bits(const struct sp_port_config *config, int *bits_ptr); +SP_API enum sp_return sp_get_config_bits(const struct sp_port_config *config, int *bits_ptr); /** * Set the data bits in a port configuration. @@ -894,7 +913,7 @@ enum sp_return sp_get_config_bits(const struct sp_port_config *config, int *bits * * @since 0.1.0 */ -enum sp_return sp_set_config_bits(struct sp_port_config *config, int bits); +SP_API enum sp_return sp_set_config_bits(struct sp_port_config *config, int bits); /** * Set the parity setting for the specified serial port. @@ -906,7 +925,7 @@ enum sp_return sp_set_config_bits(struct sp_port_config *config, int bits); * * @since 0.1.0 */ -enum sp_return sp_set_parity(struct sp_port *port, enum sp_parity parity); +SP_API enum sp_return sp_set_parity(struct sp_port *port, enum sp_parity parity); /** * Get the parity setting from a port configuration. @@ -921,7 +940,7 @@ enum sp_return sp_set_parity(struct sp_port *port, enum sp_parity parity); * * @since 0.1.0 */ -enum sp_return sp_get_config_parity(const struct sp_port_config *config, enum sp_parity *parity_ptr); +SP_API enum sp_return sp_get_config_parity(const struct sp_port_config *config, enum sp_parity *parity_ptr); /** * Set the parity setting in a port configuration. @@ -933,7 +952,7 @@ enum sp_return sp_get_config_parity(const struct sp_port_config *config, enum sp * * @since 0.1.0 */ -enum sp_return sp_set_config_parity(struct sp_port_config *config, enum sp_parity parity); +SP_API enum sp_return sp_set_config_parity(struct sp_port_config *config, enum sp_parity parity); /** * Set the stop bits for the specified serial port. @@ -945,7 +964,7 @@ enum sp_return sp_set_config_parity(struct sp_port_config *config, enum sp_parit * * @since 0.1.0 */ -enum sp_return sp_set_stopbits(struct sp_port *port, int stopbits); +SP_API enum sp_return sp_set_stopbits(struct sp_port *port, int stopbits); /** * Get the stop bits from a port configuration. @@ -960,7 +979,7 @@ enum sp_return sp_set_stopbits(struct sp_port *port, int stopbits); * * @since 0.1.0 */ -enum sp_return sp_get_config_stopbits(const struct sp_port_config *config, int *stopbits_ptr); +SP_API enum sp_return sp_get_config_stopbits(const struct sp_port_config *config, int *stopbits_ptr); /** * Set the stop bits in a port configuration. @@ -972,7 +991,7 @@ enum sp_return sp_get_config_stopbits(const struct sp_port_config *config, int * * * @since 0.1.0 */ -enum sp_return sp_set_config_stopbits(struct sp_port_config *config, int stopbits); +SP_API enum sp_return sp_set_config_stopbits(struct sp_port_config *config, int stopbits); /** * Set the RTS pin behaviour for the specified serial port. @@ -984,7 +1003,7 @@ enum sp_return sp_set_config_stopbits(struct sp_port_config *config, int stopbit * * @since 0.1.0 */ -enum sp_return sp_set_rts(struct sp_port *port, enum sp_rts rts); +SP_API enum sp_return sp_set_rts(struct sp_port *port, enum sp_rts rts); /** * Get the RTS pin behaviour from a port configuration. @@ -999,7 +1018,7 @@ enum sp_return sp_set_rts(struct sp_port *port, enum sp_rts rts); * * @since 0.1.0 */ -enum sp_return sp_get_config_rts(const struct sp_port_config *config, enum sp_rts *rts_ptr); +SP_API enum sp_return sp_get_config_rts(const struct sp_port_config *config, enum sp_rts *rts_ptr); /** * Set the RTS pin behaviour in a port configuration. @@ -1011,7 +1030,7 @@ enum sp_return sp_get_config_rts(const struct sp_port_config *config, enum sp_rt * * @since 0.1.0 */ -enum sp_return sp_set_config_rts(struct sp_port_config *config, enum sp_rts rts); +SP_API enum sp_return sp_set_config_rts(struct sp_port_config *config, enum sp_rts rts); /** * Set the CTS pin behaviour for the specified serial port. @@ -1023,7 +1042,7 @@ enum sp_return sp_set_config_rts(struct sp_port_config *config, enum sp_rts rts) * * @since 0.1.0 */ -enum sp_return sp_set_cts(struct sp_port *port, enum sp_cts cts); +SP_API enum sp_return sp_set_cts(struct sp_port *port, enum sp_cts cts); /** * Get the CTS pin behaviour from a port configuration. @@ -1038,7 +1057,7 @@ enum sp_return sp_set_cts(struct sp_port *port, enum sp_cts cts); * * @since 0.1.0 */ -enum sp_return sp_get_config_cts(const struct sp_port_config *config, enum sp_cts *cts_ptr); +SP_API enum sp_return sp_get_config_cts(const struct sp_port_config *config, enum sp_cts *cts_ptr); /** * Set the CTS pin behaviour in a port configuration. @@ -1050,7 +1069,7 @@ enum sp_return sp_get_config_cts(const struct sp_port_config *config, enum sp_ct * * @since 0.1.0 */ -enum sp_return sp_set_config_cts(struct sp_port_config *config, enum sp_cts cts); +SP_API enum sp_return sp_set_config_cts(struct sp_port_config *config, enum sp_cts cts); /** * Set the DTR pin behaviour for the specified serial port. @@ -1062,7 +1081,7 @@ enum sp_return sp_set_config_cts(struct sp_port_config *config, enum sp_cts cts) * * @since 0.1.0 */ -enum sp_return sp_set_dtr(struct sp_port *port, enum sp_dtr dtr); +SP_API enum sp_return sp_set_dtr(struct sp_port *port, enum sp_dtr dtr); /** * Get the DTR pin behaviour from a port configuration. @@ -1077,7 +1096,7 @@ enum sp_return sp_set_dtr(struct sp_port *port, enum sp_dtr dtr); * * @since 0.1.0 */ -enum sp_return sp_get_config_dtr(const struct sp_port_config *config, enum sp_dtr *dtr_ptr); +SP_API enum sp_return sp_get_config_dtr(const struct sp_port_config *config, enum sp_dtr *dtr_ptr); /** * Set the DTR pin behaviour in a port configuration. @@ -1089,7 +1108,7 @@ enum sp_return sp_get_config_dtr(const struct sp_port_config *config, enum sp_dt * * @since 0.1.0 */ -enum sp_return sp_set_config_dtr(struct sp_port_config *config, enum sp_dtr dtr); +SP_API enum sp_return sp_set_config_dtr(struct sp_port_config *config, enum sp_dtr dtr); /** * Set the DSR pin behaviour for the specified serial port. @@ -1101,7 +1120,7 @@ enum sp_return sp_set_config_dtr(struct sp_port_config *config, enum sp_dtr dtr) * * @since 0.1.0 */ -enum sp_return sp_set_dsr(struct sp_port *port, enum sp_dsr dsr); +SP_API enum sp_return sp_set_dsr(struct sp_port *port, enum sp_dsr dsr); /** * Get the DSR pin behaviour from a port configuration. @@ -1116,7 +1135,7 @@ enum sp_return sp_set_dsr(struct sp_port *port, enum sp_dsr dsr); * * @since 0.1.0 */ -enum sp_return sp_get_config_dsr(const struct sp_port_config *config, enum sp_dsr *dsr_ptr); +SP_API enum sp_return sp_get_config_dsr(const struct sp_port_config *config, enum sp_dsr *dsr_ptr); /** * Set the DSR pin behaviour in a port configuration. @@ -1128,7 +1147,7 @@ enum sp_return sp_get_config_dsr(const struct sp_port_config *config, enum sp_ds * * @since 0.1.0 */ -enum sp_return sp_set_config_dsr(struct sp_port_config *config, enum sp_dsr dsr); +SP_API enum sp_return sp_set_config_dsr(struct sp_port_config *config, enum sp_dsr dsr); /** * Set the XON/XOFF configuration for the specified serial port. @@ -1140,7 +1159,7 @@ enum sp_return sp_set_config_dsr(struct sp_port_config *config, enum sp_dsr dsr) * * @since 0.1.0 */ -enum sp_return sp_set_xon_xoff(struct sp_port *port, enum sp_xonxoff xon_xoff); +SP_API enum sp_return sp_set_xon_xoff(struct sp_port *port, enum sp_xonxoff xon_xoff); /** * Get the XON/XOFF configuration from a port configuration. @@ -1155,7 +1174,7 @@ enum sp_return sp_set_xon_xoff(struct sp_port *port, enum sp_xonxoff xon_xoff); * * @since 0.1.0 */ -enum sp_return sp_get_config_xon_xoff(const struct sp_port_config *config, enum sp_xonxoff *xon_xoff_ptr); +SP_API enum sp_return sp_get_config_xon_xoff(const struct sp_port_config *config, enum sp_xonxoff *xon_xoff_ptr); /** * Set the XON/XOFF configuration in a port configuration. @@ -1167,7 +1186,7 @@ enum sp_return sp_get_config_xon_xoff(const struct sp_port_config *config, enum * * @since 0.1.0 */ -enum sp_return sp_set_config_xon_xoff(struct sp_port_config *config, enum sp_xonxoff xon_xoff); +SP_API enum sp_return sp_set_config_xon_xoff(struct sp_port_config *config, enum sp_xonxoff xon_xoff); /** * Set the flow control type in a port configuration. @@ -1184,7 +1203,7 @@ enum sp_return sp_set_config_xon_xoff(struct sp_port_config *config, enum sp_xon * * @since 0.1.0 */ -enum sp_return sp_set_config_flowcontrol(struct sp_port_config *config, enum sp_flowcontrol flowcontrol); +SP_API enum sp_return sp_set_config_flowcontrol(struct sp_port_config *config, enum sp_flowcontrol flowcontrol); /** * Set the flow control type for the specified serial port. @@ -1201,7 +1220,7 @@ enum sp_return sp_set_config_flowcontrol(struct sp_port_config *config, enum sp_ * * @since 0.1.0 */ -enum sp_return sp_set_flowcontrol(struct sp_port *port, enum sp_flowcontrol flowcontrol); +SP_API enum sp_return sp_set_flowcontrol(struct sp_port *port, enum sp_flowcontrol flowcontrol); /** * @} @@ -1239,7 +1258,7 @@ enum sp_return sp_set_flowcontrol(struct sp_port *port, enum sp_flowcontrol flow * * @since 0.1.0 */ -enum sp_return sp_blocking_read(struct sp_port *port, void *buf, size_t count, unsigned int timeout_ms); +SP_API enum sp_return sp_blocking_read(struct sp_port *port, void *buf, size_t count, unsigned int timeout_ms); /** * Read bytes from the specified serial port, returning as soon as any data is @@ -1267,7 +1286,7 @@ enum sp_return sp_blocking_read(struct sp_port *port, void *buf, size_t count, u * * @since 0.1.1 */ -enum sp_return sp_blocking_read_next(struct sp_port *port, void *buf, size_t count, unsigned int timeout_ms); +SP_API enum sp_return sp_blocking_read_next(struct sp_port *port, void *buf, size_t count, unsigned int timeout_ms); /** * Read bytes from the specified serial port, without blocking. @@ -1282,7 +1301,7 @@ enum sp_return sp_blocking_read_next(struct sp_port *port, void *buf, size_t cou * * @since 0.1.0 */ -enum sp_return sp_nonblocking_read(struct sp_port *port, void *buf, size_t count); +SP_API enum sp_return sp_nonblocking_read(struct sp_port *port, void *buf, size_t count); /** * Write bytes to the specified serial port, blocking until complete. @@ -1318,7 +1337,7 @@ enum sp_return sp_nonblocking_read(struct sp_port *port, void *buf, size_t count * * @since 0.1.0 */ -enum sp_return sp_blocking_write(struct sp_port *port, const void *buf, size_t count, unsigned int timeout_ms); +SP_API enum sp_return sp_blocking_write(struct sp_port *port, const void *buf, size_t count, unsigned int timeout_ms); /** * Write bytes to the specified serial port, without blocking. @@ -1339,7 +1358,7 @@ enum sp_return sp_blocking_write(struct sp_port *port, const void *buf, size_t c * * @since 0.1.0 */ -enum sp_return sp_nonblocking_write(struct sp_port *port, const void *buf, size_t count); +SP_API enum sp_return sp_nonblocking_write(struct sp_port *port, const void *buf, size_t count); /** * Gets the number of bytes waiting in the input buffer. @@ -1350,7 +1369,7 @@ enum sp_return sp_nonblocking_write(struct sp_port *port, const void *buf, size_ * * @since 0.1.0 */ -enum sp_return sp_input_waiting(struct sp_port *port); +SP_API enum sp_return sp_input_waiting(struct sp_port *port); /** * Gets the number of bytes waiting in the output buffer. @@ -1361,7 +1380,7 @@ enum sp_return sp_input_waiting(struct sp_port *port); * * @since 0.1.0 */ -enum sp_return sp_output_waiting(struct sp_port *port); +SP_API enum sp_return sp_output_waiting(struct sp_port *port); /** * Flush serial port buffers. Data in the selected buffer(s) is discarded. @@ -1373,7 +1392,7 @@ enum sp_return sp_output_waiting(struct sp_port *port); * * @since 0.1.0 */ -enum sp_return sp_flush(struct sp_port *port, enum sp_buffer buffers); +SP_API enum sp_return sp_flush(struct sp_port *port, enum sp_buffer buffers); /** * Wait for buffered data to be transmitted. @@ -1391,7 +1410,7 @@ enum sp_return sp_flush(struct sp_port *port, enum sp_buffer buffers); * * @since 0.1.0 */ -enum sp_return sp_drain(struct sp_port *port); +SP_API enum sp_return sp_drain(struct sp_port *port); /** * @} @@ -1419,7 +1438,7 @@ enum sp_return sp_drain(struct sp_port *port); * * @since 0.1.0 */ -enum sp_return sp_new_event_set(struct sp_event_set **result_ptr); +SP_API enum sp_return sp_new_event_set(struct sp_event_set **result_ptr); /** * Add events to a struct sp_event_set for a given port. @@ -1438,7 +1457,7 @@ enum sp_return sp_new_event_set(struct sp_event_set **result_ptr); * * @since 0.1.0 */ -enum sp_return sp_add_port_events(struct sp_event_set *event_set, +SP_API enum sp_return sp_add_port_events(struct sp_event_set *event_set, const struct sp_port *port, enum sp_event mask); /** @@ -1451,7 +1470,7 @@ enum sp_return sp_add_port_events(struct sp_event_set *event_set, * * @since 0.1.0 */ -enum sp_return sp_wait(struct sp_event_set *event_set, unsigned int timeout_ms); +SP_API enum sp_return sp_wait(struct sp_event_set *event_set, unsigned int timeout_ms); /** * Free a structure allocated by sp_new_event_set(). @@ -1460,7 +1479,7 @@ enum sp_return sp_wait(struct sp_event_set *event_set, unsigned int timeout_ms); * * @since 0.1.0 */ -void sp_free_event_set(struct sp_event_set *event_set); +SP_API void sp_free_event_set(struct sp_event_set *event_set); /** * @} @@ -1488,7 +1507,7 @@ void sp_free_event_set(struct sp_event_set *event_set); * * @since 0.1.0 */ -enum sp_return sp_get_signals(struct sp_port *port, enum sp_signal *signal_mask); +SP_API enum sp_return sp_get_signals(struct sp_port *port, enum sp_signal *signal_mask); /** * Put the port transmit line into the break state. @@ -1499,7 +1518,7 @@ enum sp_return sp_get_signals(struct sp_port *port, enum sp_signal *signal_mask) * * @since 0.1.0 */ -enum sp_return sp_start_break(struct sp_port *port); +SP_API enum sp_return sp_start_break(struct sp_port *port); /** * Take the port transmit line out of the break state. @@ -1510,7 +1529,7 @@ enum sp_return sp_start_break(struct sp_port *port); * * @since 0.1.0 */ -enum sp_return sp_end_break(struct sp_port *port); +SP_API enum sp_return sp_end_break(struct sp_port *port); /** * @} @@ -1535,7 +1554,7 @@ enum sp_return sp_end_break(struct sp_port *port); * * @since 0.1.0 */ -int sp_last_error_code(void); +SP_API int sp_last_error_code(void); /** * Get the error message for a failed operation. @@ -1551,7 +1570,7 @@ int sp_last_error_code(void); * * @since 0.1.0 */ -char *sp_last_error_message(void); +SP_API char *sp_last_error_message(void); /** * Free an error message returned by sp_last_error_message(). @@ -1560,7 +1579,7 @@ char *sp_last_error_message(void); * * @since 0.1.0 */ -void sp_free_error_message(char *message); +SP_API void sp_free_error_message(char *message); /** * Set the handler function for library debugging messages. @@ -1579,7 +1598,7 @@ void sp_free_error_message(char *message); * * @since 0.1.0 */ -void sp_set_debug_handler(void (*handler)(const char *format, ...)); +SP_API void sp_set_debug_handler(void (*handler)(const char *format, ...)); /** * Default handler function for library debugging messages. @@ -1593,7 +1612,7 @@ void sp_set_debug_handler(void (*handler)(const char *format, ...)); * * @since 0.1.0 */ -void sp_default_debug_handler(const char *format, ...); +SP_API void sp_default_debug_handler(const char *format, ...); /** @} */ @@ -1656,7 +1675,7 @@ void sp_default_debug_handler(const char *format, ...); * * @since 0.1.0 */ -int sp_get_major_package_version(void); +SP_API int sp_get_major_package_version(void); /** * Get the minor libserialport package version number. @@ -1665,7 +1684,7 @@ int sp_get_major_package_version(void); * * @since 0.1.0 */ -int sp_get_minor_package_version(void); +SP_API int sp_get_minor_package_version(void); /** * Get the micro libserialport package version number. @@ -1674,7 +1693,7 @@ int sp_get_minor_package_version(void); * * @since 0.1.0 */ -int sp_get_micro_package_version(void); +SP_API int sp_get_micro_package_version(void); /** * Get the libserialport package version number as a string. @@ -1684,7 +1703,7 @@ int sp_get_micro_package_version(void); * * @since 0.1.0 */ -const char *sp_get_package_version_string(void); +SP_API const char *sp_get_package_version_string(void); /** * Get the "current" part of the libserialport library version number. @@ -1693,7 +1712,7 @@ const char *sp_get_package_version_string(void); * * @since 0.1.0 */ -int sp_get_current_lib_version(void); +SP_API int sp_get_current_lib_version(void); /** * Get the "revision" part of the libserialport library version number. @@ -1702,7 +1721,7 @@ int sp_get_current_lib_version(void); * * @since 0.1.0 */ -int sp_get_revision_lib_version(void); +SP_API int sp_get_revision_lib_version(void); /** * Get the "age" part of the libserialport library version number. @@ -1711,7 +1730,7 @@ int sp_get_revision_lib_version(void); * * @since 0.1.0 */ -int sp_get_age_lib_version(void); +SP_API int sp_get_age_lib_version(void); /** * Get the libserialport library version number as a string. @@ -1721,7 +1740,7 @@ int sp_get_age_lib_version(void); * * @since 0.1.0 */ -const char *sp_get_lib_version_string(void); +SP_API const char *sp_get_lib_version_string(void); /** @} */