CoronisSDK_SerialDriverAPI_C  v1.0
 All Files Functions Typedefs Defines
i_serial_driver_service.h
Go to the documentation of this file.
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_