home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / comm / ykh121.zip / YKHSRC.ZIP / COMIO.C next >
C/C++ Source or Header  |  1992-11-04  |  2KB  |  114 lines

  1. #include "comio.h"
  2. #include "lat.h"
  3. #include "cterm.h"
  4. #include "serial.h"
  5.  
  6. static unsigned (*compresence)(void          );
  7. static unsigned (*comopen    )(unsigned char*);
  8. static void     (*comclose   )(void          );
  9. static unsigned (*comsend    )(char          );
  10. static unsigned (*comready   )(void          );
  11. static char     (*comget     )(void          );
  12. static char     (*comstatus  )(void          );
  13.  
  14. static unsigned openport=0;
  15.  
  16. int com_init() {return 0;}
  17.  
  18. unsigned com_open(unsigned type, char* service)
  19. {
  20. if (openport)
  21.   (*comclose)();
  22.  
  23. switch (type)
  24.   {
  25.   case COM1_PORT:
  26.     compresence =serial_presence;
  27.     comopen     =serial_open;
  28.     comclose    =serial_close;
  29.     comget      =serial_get;
  30.     comsend     =serial_send;
  31.     comready    =serial_ready;
  32.     serial_fixport(1);
  33.     break;
  34.   case COM2_PORT:
  35.     compresence =serial_presence;
  36.     comopen     =serial_open;
  37.     comclose    =serial_close;
  38.     comget      =serial_get;
  39.     comsend     =serial_send;
  40.     comready    =serial_ready;
  41.     serial_fixport(2);
  42.     break;
  43.   case CTERM_PORT:
  44.     compresence =cterm_presence;
  45.     comopen     =cterm_open;
  46.     comclose    =cterm_close;
  47.     comget      =cterm_get;
  48.     comsend     =cterm_send;
  49.     comready    =cterm_ready;
  50.     break;
  51.   case LAT_PORT:
  52.     compresence =lat_presence;
  53.     comopen     =lat_open;
  54.     comclose    =lat_close;
  55.     comget      =lat_get;
  56.     comsend     =lat_send;
  57.     comready    =lat_ready;
  58.     break;
  59.   default:
  60.     return -1;
  61.   }
  62.  
  63. if ((*compresence)()) return 1;
  64. if ((*comopen)(service)==0)
  65.   {
  66.   openport=type;
  67.   return 0;
  68.   }
  69. return 2;
  70. }
  71.  
  72.  
  73. void     com_close (      )
  74. {
  75. if (openport)
  76.   {
  77.   (*comclose)();
  78.   openport=0;
  79.   }
  80. }
  81.  
  82.  
  83. unsigned com_send  (char c)
  84. {
  85. if (openport)
  86.   return (*comsend)  (c);
  87. return 0;
  88. }
  89.  
  90.  
  91. unsigned com_ready (      )
  92. {
  93. if (openport)
  94.   return (*comready) ( );
  95. return 0;
  96. }
  97.  
  98.  
  99. char     com_get   (      )
  100. {
  101. if (openport)
  102.   return (*comget)   ( );
  103. return 0;
  104. }
  105.  
  106.  
  107. char     com_status(      )
  108. {
  109. if (openport)
  110.   return (*comstatus)( );
  111. return 0;
  112. }
  113.  
  114.