Main Page   Compound List   File List   Header Files   Sources   Compound Members   File Members  

pcomm.h

This is the verbatim text of the pcomm.h include file.
#ifndef PCOMM_H_
#define PCOMM_H_
/* 
   Copyright (C) 1999 PolyWog and Javaman for Ghetto.Org
   This file is part of the PCR-1000 API Library.

   The PCR-1000 API Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   The PCR-1000 API Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with the PCR-1000 API Library; see the file LICENSE.  If not,
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  
 */

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/termios.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <stdlib.h>

#include "pcrdef.h"

#define BAUDRATE B9600
#define PCRDEV "/dev/ttyS0"
#define _POSIX_SOURCE 1 /* POSIX compliant source */

typedef int size_pc;    /* i/o count confirmation */


class PComm {
    public:
        PComm(char *pcrDev, tcflag_t baudRate=B9600, const char *name=0);
        ~PComm();

        bool PCOpen(const char *pcrDev=PCRDEV, tcflag_t baudRate=B9600);
        void PCClose();

        size_pc PCTell(char *);
        size_pc PCAsk(char *);
        size_pc PCHear(char *);
        size_pc PCRawWrite(char *);
        size_pc PCRawRead(char *);

    private:
        size_pc Write(char *);
        size_pc Read(char *);
        
        void    resetCall();
        void    countCall();
        int     callCount;
        char   callBuf[256];

        struct  timeval *timeOut;       
        fd_set  *FDSet;                 
        int     retVal;           
        struct  termios *oldtio;   
        struct  termios *newtio;   
        int     fd;                
        char    pcrDevice[256]; 
        tcflag_t pcrSpeed;           

         bool errRead;       
         bool errWrite;          
         char askBuf[256];      
         char hearBuf[256];      
         char writeBuf[256];     
         char readBuf[256];      
         char int_name[256];     
         size_pc writeCtr;       
         size_pc readCtr;        
         size_pc askCtr;         
         size_pc tellCtr;        
         size_pc hearCtr;        
};

#endif /* PCOMM_H_ */

Generated at Mon Jan 17 00:45:29 2000 for Icom PCR-1000 Library by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999