harmonize coding style

This commit is contained in:
marschap
2006-04-08 16:10:19 +00:00
parent 51dc6dcdfc
commit a1d741745a
+221 -268
View File
@@ -22,12 +22,12 @@
#undef PAUSE_AFTER_STRINGS
/* Protocol values */
unsigned char GLKCommand = 0xfe ;
unsigned char GLKConfirm = 0x01 ;
unsigned char GLKDeny = 0x08 ;
unsigned char GLKCommand = 0xfe;
unsigned char GLKConfirm = 0x01;
unsigned char GLKDeny = 0x08;
unsigned char GLKBufferFull = 0xfe ;
unsigned char GLKBufferEmpty = 0xff ;
unsigned char GLKBufferFull = 0xfe;
unsigned char GLKBufferEmpty = 0xff;
/* glkopen
@@ -35,80 +35,76 @@ unsigned char GLKBufferEmpty = 0xff ;
* Open and configure a serial port for communication with
* a Matrix Orbital module (GLK or otherwise)
*/
GLKDisplay *
glkopen(
char * name,
tcflag_t speed
)
GLKDisplay *glkopen(char *name, tcflag_t speed)
{
int fd ;
struct termios new ;
GLKDisplay * retval ;
int fd;
struct termios new;
GLKDisplay *retval;
if( name == NULL || speed == 0 ) {
if (name == NULL || speed == 0) {
/* Invalid arguments */
errno = EINVAL ;
return( NULL );
};
errno = EINVAL;
return(NULL);
}
fd = open( name, O_RDWR | O_NOCTTY );
if( fd < 0 ) {
return( NULL );
};
fd = open(name, O_RDWR | O_NOCTTY);
if (fd < 0) {
return(NULL);
}
/* Get current settings */
if( tcgetattr( fd, &new ) < 0 ) {
int errsave = errno ;
close( fd );
errno = errsave ;
return( NULL );
};
if (tcgetattr(fd, &new) < 0) {
int errsave = errno;
close(fd);
errno = errsave;
return(NULL);
}
retval = malloc( sizeof( GLKDisplay ) );
if( retval == NULL ) {
errno = ENOMEM ;
return( NULL );
};
retval->fd = fd ;
retval->saved = new ;
retval->ungetin = retval->ungetout = 0 ;
retval->timeout = GLK_TIMEOUT ;
retval->flow = GLKFLOW_OK ;
retval = malloc(sizeof(GLKDisplay));
if (retval == NULL) {
errno = ENOMEM;
return(NULL);
}
retval->fd = fd;
retval->saved = new;
retval->ungetin = retval->ungetout = 0;
retval->timeout = GLK_TIMEOUT;
retval->flow = GLKFLOW_OK;
/* Make new settings */
/* We use RAW mode */
#ifdef HAVE_CFMAKERAW
/* The easy way */
cfmakeraw( &new );
cfmakeraw(&new);
#else
/* The hard way */
new.c_iflag &= ~( IGNBRK | BRKINT | PARMRK | ISTRIP
| INLCR | IGNCR | ICRNL | IXON );
| INLCR | IGNCR | ICRNL | IXON);
new.c_oflag &= ~OPOST;
new.c_lflag &= ~( ECHO | ECHONL | ICANON | ISIG | IEXTEN );
new.c_cflag &= ~( CSIZE | PARENB | CRTSCTS );
new.c_cflag |= CS8 | CREAD | CLOCAL ;
new.c_lflag &= ~( ECHO | ECHONL | ICANON | ISIG | IEXTEN);
new.c_cflag &= ~( CSIZE | PARENB | CRTSCTS);
new.c_cflag |= CS8 | CREAD | CLOCAL;
#endif
/* Set default MIN and TIMEOUT values */
new.c_cc[VMIN] = 0 ;
new.c_cc[VTIME] = GLK_TIMEOUT ;
new.c_cc[VMIN] = 0;
new.c_cc[VTIME] = GLK_TIMEOUT;
/* Set the out and in speeds */
cfsetospeed( &new, speed );
cfsetispeed( &new, B0 ); /* Input equals output speed */
cfsetospeed(&new, speed);
cfsetispeed(&new, B0); /* Input equals output speed */
/* Configure the port */
tcflush( fd, TCIOFLUSH );
if( tcsetattr( fd, TCSANOW, &new ) < 0 ) {
int errsave = errno ;
glkclose( retval );
errno = errsave ;
return( NULL );
};
tcflush(fd, TCIOFLUSH);
if (tcsetattr(fd, TCSANOW, &new) < 0) {
int errsave = errno;
glkclose(retval);
errno = errsave;
return(NULL);
}
return( retval );
return(retval);
}
/* glktimeout
@@ -117,30 +113,27 @@ GLKDisplay *
* a read will block (glkget) waiting on data.
*/
int
glktimeout(
GLKDisplay * fd,
int timeout
)
glktimeout(GLKDisplay *fd, int timeout)
{
struct termios t ;
struct termios t;
if( timeout < 0 || timeout > 255 ) {
errno = EINVAL ; /* Invalid argument */
return( 1 ); /* Failure */
};
if (timeout < 0 || timeout > 255) {
errno = EINVAL; /* Invalid argument */
return(1); /* Failure */
}
if( tcgetattr( fd->fd, &t ) < 0 ) {
return( 1 );
};
if (tcgetattr(fd->fd, &t) < 0) {
return(1);
}
fd->timeout = timeout ;
t.c_cc[VTIME] = timeout ;
fd->timeout = timeout;
t.c_cc[VTIME] = timeout;
if( tcsetattr( fd->fd, TCSANOW, &t ) < 0 ) {
return( 1 );
};
if (tcsetattr(fd->fd, TCSANOW, &t) < 0) {
return(1);
}
return( 0 ); /* Success */
return(0); /* Success */
}
/* glkflow
@@ -151,51 +144,47 @@ int
*/
#define GLKBUF (96)
int
glkflow(
GLKDisplay * fd,
int full,
int empty
)
glkflow(GLKDisplay *fd, int full, int empty)
{
struct termios t ;
struct termios t;
if( full > GLKBUF -1
|| empty > GLKBUF -1
|| full + empty > GLKBUF -1
) {
errno = EINVAL ;
return( 1 );
};
if ((full > GLKBUF -1)
|| (empty > GLKBUF -1)
|| (full + empty > GLKBUF -1)) {
errno = EINVAL;
return(1);
}
if( tcgetattr( fd->fd, &t ) < 0 ) {
return( 1 ); /* Failure */
};
if (tcgetattr(fd->fd, &t) < 0) {
return(1); /* Failure */
}
if( full < 0 || empty < 0 ) {
if (full < 0 || empty < 0) {
/* Turn it off */
glkputl( fd, GLKCommand, 0x3b, EOF );
t.c_iflag &= ~(IXON | IXANY | IXOFF) ;
t.c_cc[VSTART] = GLKBufferEmpty ;
t.c_cc[VSTOP] = GLKBufferFull ;
fd->flow = GLKFLOW_DISABLE ;
} else {
glkputl(fd, GLKCommand, 0x3b, EOF);
t.c_iflag &= ~(IXON | IXANY | IXOFF);
t.c_cc[VSTART] = GLKBufferEmpty;
t.c_cc[VSTOP] = GLKBufferFull;
fd->flow = GLKFLOW_DISABLE;
}
else {
/* Turn it on */
glkputl( fd, GLKCommand, 0x3a, full, empty, EOF );
glkputl(fd, GLKCommand, 0x3a, full, empty, EOF);
/* Control what we send */
t.c_iflag |= IXON ;
t.c_iflag |= IXON;
/* Only start on VSTART (IXANY), *
* Don't control what we receive (IXOFF) */
t.c_iflag &= ~(IXANY | IXOFF) ;
t.c_cc[VSTART] = GLKBufferEmpty ;
t.c_cc[VSTOP] = GLKBufferFull ;
fd->flow = GLKFLOW_OK ;
};
t.c_iflag &= ~(IXANY | IXOFF);
t.c_cc[VSTART] = GLKBufferEmpty;
t.c_cc[VSTOP] = GLKBufferFull;
fd->flow = GLKFLOW_OK;
}
if( tcsetattr( fd->fd, TCSANOW, &t ) < 0 ) {
return( 1 );
};
if (tcsetattr(fd->fd, TCSANOW, &t) < 0) {
return(1);
}
return( 0 ); /* Success */
return(0); /* Success */
}
/* glkclose
@@ -203,29 +192,27 @@ int
* Close a serial port and restore settings if provided.
*/
int
glkclose(
GLKDisplay * fd
)
glkclose(GLKDisplay *fd)
{
int retval = 0 ;
int retval = 0;
if( fd->fd < 0 ) {
if (fd->fd < 0) {
/* Probably already closed */
return( 0 ); /* Success? */
};
return(0); /* Success? */
}
/* Trash any unread data */
tcflush( fd->fd, TCIFLUSH );
tcflush(fd->fd, TCIFLUSH);
/* Restore settings */
tcsetattr( fd->fd, TCSANOW, &fd->saved );
tcsetattr(fd->fd, TCSANOW, &fd->saved);
retval = close( fd->fd );
retval = close(fd->fd);
fd->fd = -1 ;
free( fd );
fd->fd = -1;
free(fd);
return( retval );
return(retval);
}
@@ -234,22 +221,19 @@ int
* Send a character to the GLK
*/
int INLINE
glkput(
GLKDisplay * fd,
int c
)
glkput(GLKDisplay *fd, int c)
{
unsigned char val ;
ssize_t retval ;
unsigned char val;
ssize_t retval;
/* Output the byte */
val = c ;
retval = write( fd->fd, &val, 1 );
val = c;
retval = write(fd->fd, &val, 1);
/* retval <= 0 => FAILURE => 1
* retval == 1 => SUCCESS => 0
*/
return( retval <= 0 );
return(retval <= 0);
}
/* glkunget
@@ -262,20 +246,17 @@ int INLINE
* flow control signals
*/
int
glkunget(
GLKDisplay * fd,
int c
)
glkunget(GLKDisplay *fd, int c)
{
/* Is buffer already full? */
if( ((fd->ungetin + 1) & (~UNGETBUFSIZE)) == fd->ungetout ) {
return( 1 ); /* Failure */
};
if (((fd->ungetin + 1) & (~UNGETBUFSIZE)) == fd->ungetout) {
return(1); /* Failure */
}
fd->ungetbuf[fd->ungetin] = c ;
fd->ungetin = (fd->ungetin + 1) & (~UNGETBUFSIZE) ;
fd->ungetbuf[fd->ungetin] = c;
fd->ungetin = (fd->ungetin + 1) & (~UNGETBUFSIZE);
return( 0 );
return(0);
}
/* glkget
@@ -283,19 +264,17 @@ int
* Read a character from the GLK
*/
int INLINE
glkget(
GLKDisplay * fd
)
glkget(GLKDisplay *fd)
{
unsigned char c ;
ssize_t retval ;
unsigned char c;
ssize_t retval;
retval = read( fd->fd, &c, 1 );
if( retval <= 0 ) {
return( -1 );
retval = read(fd->fd, &c, 1);
if (retval <= 0) {
return(-1);
} else {
return( (int) c );
};
return((int) c);
}
}
/* glkpoll
@@ -304,24 +283,21 @@ int INLINE
* GLK.
*/
int
glkpoll(
GLKDisplay * fd,
int timeout
)
glkpoll(GLKDisplay *fd, int timeout)
{
struct pollfd fds ;
int retval ;
struct pollfd fds;
int retval;
fds.fd = fd->fd ;
fds.events = POLLIN ;
fds.revents = 0 ;
retval = poll( &fds, 1, timeout );
if( retval < 0 ) {
fds.fd = fd->fd;
fds.events = POLLIN;
fds.revents = 0;
retval = poll(&fds, 1, timeout);
if (retval < 0) {
/* Some error. Ignore it, and return "no data" */
retval = 0 ;
};
retval = 0;
}
return( retval );
return(retval);
}
/* glkgetc
@@ -332,41 +308,38 @@ int
* GLKBufferFull and GLKBufferEmpty whereas glkgetc wil NOT.
*/
int
glkgetc(
GLKDisplay * fd
)
glkgetc(GLKDisplay *fd)
{
int c ;
int c;
/* Are there characters in the unget buffer? */
if( fd->ungetin == fd->ungetout ) {
if (fd->ungetin == fd->ungetout) {
/* Nope, so read one */
for( ; ; ) { /* loop until we get a non-flow control value */
c = glkget( fd );
for ( ; ; ) { /* loop until we get a non-flow control value */
c = glkget(fd);
if( fd->flow != GLKFLOW_DISABLE ) {
if( c == GLKBufferFull ) {
fd->flow = GLKFLOW_STOPPED ;
continue ;
} else if( c == GLKBufferEmpty ) {
fd->flow = GLKFLOW_OK ;
continue ;
};
};
if (fd->flow != GLKFLOW_DISABLE) {
if (c == GLKBufferFull) {
fd->flow = GLKFLOW_STOPPED;
continue;
} else if (c == GLKBufferEmpty) {
fd->flow = GLKFLOW_OK;
continue;
}
}
/* Must be what we're looking for */
break ;
};
} else {
break;
}
}
else {
/* Get one of the "ungotten" char's */
c = fd->ungetbuf[fd->ungetout] ;
fd->ungetout = (fd->ungetout + 1) & (~UNGETBUFSIZE) ;
c = fd->ungetbuf[fd->ungetout];
fd->ungetout = (fd->ungetout + 1) & (~UNGETBUFSIZE);
};
}
return( c );
return(c);
}
/* glkput_confirm
@@ -375,30 +348,27 @@ int
* confirmation of echo
*/
int
glkput_confirm(
GLKDisplay * fd,
int c
)
glkput_confirm(GLKDisplay *fd, int c)
{
int echo ;
int echo;
/* Output the byte */
if( glkput( fd, c ) ) {
return( 1 ); /* Failure */
if (glkput(fd, c)) {
return(1); /* Failure */
}
/* Look for the echo */
echo = glkget( fd );
if( echo < 0 ) {
return( 1 ); /* Failure */
};
echo = glkget(fd);
if (echo < 0) {
return(1); /* Failure */
}
if( echo == c ) {
glkput( fd, GLKConfirm );
return( 0 ); /* Success */
if (echo == c) {
glkput(fd, GLKConfirm);
return(0); /* Success */
} else {
glkput( fd, GLKDeny );
return( 1 );
glkput(fd, GLKDeny);
return(1);
}
}
@@ -408,21 +378,17 @@ int
* confirmation.
*/
int
glkputa_confirm(
GLKDisplay * fd,
int len,
unsigned char * str
)
glkputa_confirm(GLKDisplay *fd, int len, unsigned char *str)
{
int i ;
int retval ;
int i;
int retval;
retval = 0 ; /* Assume Success */
for( i = len ; !retval && i ; ++str, --i ) {
retval = glkput_confirm( fd, *str );
};
retval = 0; /* Assume Success */
for (i = len; !retval && i; ++str, --i) {
retval = glkput_confirm(fd, *str);
}
return( retval );
return(retval);
}
/* glkput_echo
@@ -430,28 +396,25 @@ int
* Send a character to the GLK on fd with echo expected
*/
int
glkput_echo(
GLKDisplay * fd,
int c
)
glkput_echo(GLKDisplay *fd, int c)
{
int echo ;
int echo;
/* Output the byte */
if( glkput( fd, c ) ) {
return( 1 ); /* Failure */
if (glkput(fd, c)) {
return(1); /* Failure */
}
/* Look for the echo */
echo = glkget( fd );
if( echo < 0 ) {
return( 1 ); /* Failure */
};
echo = glkget(fd);
if (echo < 0) {
return(1); /* Failure */
}
if( echo == c ) {
return( 0 ); /* Success */
if (echo == c) {
return(0); /* Success */
} else {
return( 1 ); /* Failure */
return(1); /* Failure */
}
}
@@ -461,25 +424,22 @@ int
* terminated by an EOF valued argument.
*/
int
glkputl(
GLKDisplay * fd,
...
)
glkputl(GLKDisplay *fd, ...)
{
va_list ap ;
int value ;
int retval ;
va_list ap;
int value;
int retval;
va_start( ap, fd );
retval = 0 ; /* Success */
value = va_arg( ap, int );
va_start(ap, fd);
retval = 0; /* Success */
value = va_arg(ap, int);
while( !retval && value != EOF ) {
retval = glkput( fd, value );
value = va_arg( ap, int );
};
while (!retval && value != EOF) {
retval = glkput(fd, value);
value = va_arg(ap, int);
}
return( retval );
return(retval);
}
/* glkputs
@@ -488,20 +448,17 @@ int
* GLK.
*/
int
glkputs(
GLKDisplay * fd,
char * str
)
glkputs(GLKDisplay *fd, char *str)
{
register char * p = str ;
int retval ;
register char *p = str;
int retval;
retval = 0 ; /* Success */
for( p = str ; !retval && *p ; ++p ) {
retval = glkput( fd, *p );
};
retval = 0; /* Success */
for (p = str; !retval && *p; ++p) {
retval = glkput(fd, *p);
}
return( retval );
return(retval);
}
/* glkputa
@@ -509,20 +466,16 @@ int
* Send an array of characters.
*/
int
glkputa(
GLKDisplay * fd,
int len,
unsigned char * str
)
glkputa(GLKDisplay *fd, int len, unsigned char *str)
{
register unsigned char * p = str ;
int i ;
int retval ;
register unsigned char *p = str;
int i;
int retval;
retval = 0 ; /* Assume Success */
for( i = len ; !retval && i ; ++p, --i ) {
retval = glkput( fd, *p );
};
retval = 0; /* Assume Success */
for (i = len; !retval && i; ++p, --i) {
retval = glkput(fd, *p);
}
return( retval );
return(retval);
}