Skip to content

Commit

Permalink
Get the declarations in SerialPlugin.h right. They should be simple e…
Browse files Browse the repository at this point in the history
…xterns.

Use success through the interpreterProxy in sqWin32SerialPort.c
  • Loading branch information
eliotmiranda committed Jul 3, 2019
1 parent 83333fc commit 0c809e1
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 23 deletions.
22 changes: 11 additions & 11 deletions platforms/Cross/plugins/SerialPlugin/SerialPlugin.h
@@ -1,21 +1,21 @@
/* serial port primitives */

/* module initialization/shutdown */
int serialPortInit(void);
int serialPortShutdown(void);
extern int serialPortInit(void);
extern int serialPortShutdown(void);

#pragma export on
EXPORT (int) serialPortClose(int portNum);
EXPORT (int) serialPortCloseByName(const char *portName);
EXPORT (int) serialPortCount(void);
EXPORT (int) serialPortOpen(int portNum, int baudRate, int stopBitsType,
extern int serialPortClose(int portNum);
extern int serialPortCloseByName(const char *portName);
extern int serialPortCount(void);
extern int serialPortOpen(int portNum, int baudRate, int stopBitsType,
int parityType, int dataBits, int inFlowCtrl,
int outFlowCtrl, int xOnChar, int xOffChar);
EXPORT (int) serialPortOpenByName(const char *portName, int baudRate, int stopBitsType,
extern int serialPortOpenByName(const char *portName, int baudRate, int stopBitsType,
int parityType, int dataBits,
int inFlowCtrl, int outFlowCtrl, int xOnChar, int xOffChar);
EXPORT (int) serialPortReadInto(int portNum, int count, void *bufferPtr);
EXPORT (int) serialPortReadIntoByName(const char *portName, int count, void *bufferPtr);
EXPORT (int) serialPortWriteFrom(int portNum, int count, void *bufferPtr);
EXPORT (int) serialPortWriteFromByName(const char *portName, int count, void *bufferPtr);
extern int serialPortReadInto(int portNum, int count, void *bufferPtr);
extern int serialPortReadIntoByName(const char *portName, int count, void *bufferPtr);
extern int serialPortWriteFrom(int portNum, int count, void *bufferPtr);
extern int serialPortWriteFromByName(const char *portName, int count, void *bufferPtr);
#pragma export off
27 changes: 15 additions & 12 deletions platforms/win32/plugins/SerialPlugin/sqWin32SerialPort.c
Expand Up @@ -10,8 +10,11 @@
*****************************************************************************/
#include <windows.h>
#include "sq.h"
#include "sqWin32.h"

#ifndef NO_SERIAL_PORT
extern struct VirtualMachine *interpreterProxy;
#define FAIL() interpreterProxy->primitiveFail()

/* Maximum number of serial ports supported */
#define MAX_SERIAL_PORTS 256
Expand All @@ -27,7 +30,7 @@ static int isValidComm(int portNum)
if(portNum <= 0 || portNum > MAX_SERIAL_PORTS ||
serialPorts[portNum-1] == INVALID_HANDLE_VALUE)
{
success(false);
FAIL();
return 0;
}
return 1;
Expand Down Expand Up @@ -55,7 +58,7 @@ EXPORT(int) serialPortClose(int portNum)
/* Allow ports that aren't open to be closed 20nov98 jfb */
if(portNum <= 0 || portNum > MAX_SERIAL_PORTS)
{ /* port number out of range */
success(false);
FAIL();
return 0;
}
if ((port = serialPorts[portNum-1]) != INVALID_HANDLE_VALUE)
Expand All @@ -72,7 +75,7 @@ EXPORT(int) serialPortCloseByName(const char *portName)
{
int portNum = portNumberForName(portName);
if (portNum < 0)
{ success(false);
{ FAIL();
return 0;
}
return serialPortClose(portNum);
Expand All @@ -93,12 +96,12 @@ EXPORT(int) serialPortOpen(int portNum, int baudRate, int stopBitsType,

if(portNum <= 0 || portNum > MAX_SERIAL_PORTS)
{ /* port number out of range */
success(false);
FAIL();
return 0;
}
if(serialPorts[portNum-1] != INVALID_HANDLE_VALUE)
{ /* port already open */
success(false);
FAIL();
return 0;
}
wsprintf(name,TEXT("\\\\.\\COM%d"),portNum);
Expand All @@ -113,7 +116,7 @@ EXPORT(int) serialPortOpen(int portNum, int baudRate, int stopBitsType,
if(port == INVALID_HANDLE_VALUE)
{
printLastError(TEXT("OpenComm failed"));
success(false);
FAIL();
return 0;
}
/* Flush the driver */
Expand Down Expand Up @@ -175,7 +178,7 @@ EXPORT(int) serialPortOpen(int portNum, int baudRate, int stopBitsType,
return 1;
errExit:
CloseHandle(port);
success(false);
FAIL();
return 0;
}

Expand All @@ -185,7 +188,7 @@ EXPORT(int) serialPortOpenByName(char *portName, int baudRate, int stopBitsType,
{
int portNum = portNumberForName(portName);
if (portNum < 0) {
success(false);
FAIL();
return 0;
}
return serialPortOpen(portNum, baudRate, stopBitsType, parityType,
Expand All @@ -204,7 +207,7 @@ EXPORT(int) serialPortReadInto(int portNum, int count, void *startPtr)
if(!ReadFile(serialPorts[portNum-1],startPtr,count,&cbReallyRead,NULL))
{
printLastError(TEXT("ReadComm failed"));
success(false);
FAIL();
return 0;
}
return cbReallyRead;
Expand All @@ -218,7 +221,7 @@ EXPORT(int) serialPortReadIntoByName(const char *portName, int count, void *star
{
int portNum = portNumberForName(portName);
if (portNum < 0)
{ success(false);
{ FAIL();
return 0;
}
return serialPortReadInto(portNum, count, startPtr);
Expand All @@ -234,7 +237,7 @@ EXPORT(int) serialPortWriteFrom(int portNum, int count, void *startPtr)
if(!WriteFile(serialPorts[portNum-1],startPtr,count,&cbReallyWritten,NULL))
{
printLastError(TEXT("WriteComm failed"));
success(false);
FAIL();
return 0;
}
return cbReallyWritten;
Expand All @@ -247,7 +250,7 @@ EXPORT(int) serialPortWriteFromByName(const char *portName, int count, void *sta
{
int portNum = portNumberForName(portName);
if (portNum < 0)
{ success(false);
{ FAIL();
return 0;
}
return serialPortWriteFrom(portNum, count, startPtr);
Expand Down

0 comments on commit 0c809e1

Please sign in to comment.