Serial port interface.h

From wizarPOS
  #ifndef SERIAL_PORT_INTERFACE_H_
  #define SERIAL_PORT_INTERFACE_H_
  
  #ifdef __cplusplus
  extern "C"
  {
  #endif
  
  /*
   * open the serial port
   * @param[in] : char* pDeviceName : device name
   * return value : < 0 : error code
   * 				  >= 0 : file description
   */
  typedef int (*esp_open)(char* pDeviceName);
  
  /*
   * close the serial port
   * @param[in] : int fd : file description
   * return value : < 0 : error code
   * 				  >=0 : success
   */
  typedef int (*esp_close)(int fd);
  
  /*
   * read data from the serial port
   * @param[in] : int fd : file description
   * @param[in] : unsigned char* pDataBuffer : data buffer
   * @param[in] : int ExpectedDataLength : data length of reading
   * @param[in] : int nTimeout_MS : time out in milliseconds
   * 								  nTimeout_MS : 0 : read and return immediately
   * 								  				< 0 : read until we have received data
   * return value : < 0 : error code
   * 				  >= 0 : data length
   */
  typedef int (*esp_read)(int fd, unsigned char* pDataBuffer, int nExpectedDataLength, int nTimeout_MS);
  
  /*
   * write data to the serial port
   * @param[in] : int fd : file description
   * @param[in] : unsigned char* pDataBuffer : data buffer
   * @param[in] : int nDataLength : data length
   * return value : < 0 : error code
   * 				  >= 0 : written data length
   */
  typedef int (*esp_write)(int fd, unsigned char* pDataBuffer, int nDataLength);
  
  /*
   * set the bard rate
   * @param[in] : int fd : file description
   * return value : < 0 : error code
   * 				  >= 0 :
   */
  typedef int (*esp_set_baudrate)(int fd, unsigned int nBaudrate);
  
  /*
   * flush io buffer
   * @param[in] : int fd : file description
   * return value : < 0 : error code
   * 				  >= 0 :
   */
  typedef int (*esp_flush_io)(int fd);
  
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* SERIAL_PORT_INTERFACE_H_ */