ssize_t serialWriteData ( SerialDevice *serial, const void *data, size_t size ) { if (!serialFlushAttributes(serial)) return -1; return serialPutData(serial, data, size); }
uint8_t *serialCommand(void *driverVoid, uint16_t transactions, uint32_t *buffer) { driver_t *driver = (driver_t *)driverVoid; serial_port_t *port = (serial_port_t *)driver->driverContext; uint8_t *returnBuffer = (uint8_t *)malloc(transactions); if (returnBuffer == NULL) { return NULL; } // Send the transaction data to the serial port serialPutData(port, transactions * 4, (uint8_t *)buffer); serialGetData(port, transactions, returnBuffer); return returnBuffer; }