/********************************************************************************* * Copyright: (C) 2012 Guo Wenxue * All rights reserved. * * Filename: cp_comport.h * Description: This head file is for the common TTY/Serial port operator library * * Version: 1.0.0(10/17/2011~) * Author: Guo Wenxue * ChangeLog: 1, Release initial version on "10/17/2011 03:33:25 PM" * ********************************************************************************/ #ifndef _CP_COMPORT_H #define _CP_COMPORT_H #include #include #include #include #include #include #include #include #include #include #include #include #include #define BUF_64 64 #ifndef DEVNAME_LEN #define DEVNAME_LEN 64 #endif //#define COM_DEBUG #ifdef COM_DEBUG #define COM_PRINT(format,args...) printf(format, ##args) #else #define COM_PRINT(format,args...) do{} while(0); #endif //#define msleep(m) {struct timespec cSleep; cSleep.tv_sec = 0; cSleep.tv_nsec = m * 1000; nanosleep(&cSleep, 0);} typedef struct cp_comport_s { unsigned char databit, parity, stopbit, flowctrl, connected; char dev_name[DEVNAME_LEN]; unsigned char used; /* This comport used or not now */ int fd; int frag_size; long baudrate; } cp_comport_t; cp_comport_t *comport_init(const char *dev_name, int baudrate, const char *settings); void comport_close(cp_comport_t * comport); int comport_open(cp_comport_t * comport); void cp_comport_term(cp_comport_t * comport); int comport_recv(cp_comport_t * comport, char *buf, int buf_size, unsigned long timeout); int comport_send(cp_comport_t * comport, char *buf, int send_bytes); void set_settings(cp_comport_t * comport, const char *settings); void disp_settings(cp_comport_t * comport); void nonblock(); int kbhit(); #endif