00001 #ifndef __si_sys_serial_h__7b6d9b22_db7c_448d_aac4_10cda578d84b
00002 #define __si_sys_serial_h__7b6d9b22_db7c_448d_aac4_10cda578d84b
00003
00011 #include <si_sys/defs.h>
00012 #include <termios.h>
00013
00016 typedef enum se_baudRate {
00017 se_baudRate_9600 = 9600,
00018 se_baudRate_19200 = 19200,
00019 se_baudRate_38400 = 38400,
00020 se_baudRate_57600 = 57600,
00021 se_baudRate_115200 = 115200,
00022 se_baudRate_230400 = 230400
00023 } se_baudRate;
00024
00032 typedef struct sc_serialPort {
00033
00034 int fd_;
00035 se_baudRate baudRate_;
00036 struct termios ops_;
00038 } sc_serialPort;
00039
00040 sc_status sc_serialPort_construct(sc_serialPort* sp, const char* dev,
00041 se_baudRate baud);
00049 sc_status sc_serialPort_destruct(sc_serialPort* sp);
00053 sc_status sc_serialPort_read(sc_serialPort* sp, s_uint8* buff, s_int32 len,
00054 s_int32* bytesRead);
00065 sc_status sc_serialPort_readAll(sc_serialPort* sp, s_uint8* buff, s_int32 len);
00075 sc_status sc_serialPort_write(sc_serialPort* sp, const s_uint8* buff,
00076 s_int32 len, s_int32* bytesWritten);
00087 sc_status sc_serialPort_flush(sc_serialPort* sp);
00091 #endif