|
CoronisSDK_SerialDriverAPI_C
v1.0
|
00001 /******************************************************************************* 00002 * Copyright (c) 2012 Coronis 00003 * This program is free software; you can redistribute it and/or 00004 * modify it under the terms of the GNU Lesser General Public 00005 * License as published by the Free Software Foundation; either 00006 * version 3 of the License, or (at your option) any later version. 00007 00008 * This program is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this program; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00016 * 00017 * Contributors: 00018 * Coronis - initial API and implementation 00019 *******************************************************************************/ 00020 00028 #ifndef _I_SERIAL_DRIVER_SERVICE_H_ 00029 #define _I_SERIAL_DRIVER_SERVICE_H_ 00030 00031 #include <i_serial_frame.h> 00032 #include <i_serial_driver_listener_types.h> 00033 00034 #ifdef _WINDOWS 00035 #define WAVENIS_API __declspec(dllexport) 00036 #else 00037 #define WAVENIS_API extern 00038 #endif//_WINDOWS 00039 00040 WAVENIS_API void* driver_create(); 00041 00042 WAVENIS_API int driver_destroy( const void* driver ); 00043 00051 WAVENIS_API int driver_init( const void* driver ); 00052 00061 WAVENIS_API int driver_init_from_file( const void* driver, const char* file ); 00062 00073 WAVENIS_API int driver_open( const void* driver ); 00074 00082 WAVENIS_API int driver_close( const void* driver ); 00083 00089 WAVENIS_API int driver_is_open( const void* driver ); 00090 00097 WAVENIS_API int driver_get_port_id( const void* driver, char* id, int idLen ); 00098 00108 WAVENIS_API int driver_set_port_id( const void* driver, const char* id ); 00109 00123 WAVENIS_API int driver_set_port_params( const void* driver, int baudRate, int dataBit, int stopBit, int parity ); 00124 00134 WAVENIS_API int driver_set_listening_period_param( const void* driver, int receiveTimeout ); 00135 00147 WAVENIS_API int driver_set_flow_control_mode_params( const void* driver, int flowControlIn, int flowControlOut ); 00148 00161 WAVENIS_API int driver_send( const void* driver, const pISerialFrame frame); 00162 00174 WAVENIS_API int driver_register_listener( const void* driver, serial_driver_listener_t receiveFrameListener, void* param ); 00175 00183 WAVENIS_API int driver_unregister_listener( const void* driver ); 00184 00196 WAVENIS_API int driver_register_notify_listener( const void* driver, serial_driver_listener_notify_t eventListener, void* param ); 00197 00205 WAVENIS_API int driver_unregister_notify_listener( const void* driver ); 00206 00221 WAVENIS_API int driver_register_spy_listener( const void* driver, serial_driver_spy_t spySentFrameListener, serial_driver_spy_t spyRecvFrameListener, void* param, int* spyIndex ); 00222 00231 WAVENIS_API int driver_unregister_spy_listener( const void* driver, int spyIndex ); 00232 00233 #endif//_I_SERIAL_DRIVER_SERVICE_H_
1.8.0