Exemplo n.º 1
0
vector<string> PrinterSerial::FindPorts() {
  vector<string> ports;

#ifdef WIN32
  char name[5];
  strncpy( name, "COMx", 5 );
  for ( int i = 0; i <= 9; i++ ) {
    name[3] = i + '0';
    if ( TestPort( name ) )
      ports.push_back( name );
  }

  return ports;
#else
  DIR *dir;
  struct dirent *de;

  if ( ( dir = opendir( "/dev" ) ) == NULL )
    return ports;

  while ( ( de = readdir( dir ) ) ) {
    if ( strncmp( de->d_name, "ttyUSB", 6 ) == 0 )
      ports.push_back( string( "/dev/" ) + de->d_name );
    else if ( strncmp( de->d_name, "ttyACM", 6 ) == 0 )
      ports.push_back( string( "/dev/" ) + de->d_name );
    else if ( strncmp( de->d_name, "cuaU", 4 ) == 0 )
      ports.push_back( string( "/dev/" ) + de->d_name );
  }

  closedir( dir );

  return ports;
#endif
}
Exemplo n.º 2
0
/*____________________________________________________________________*/
void Ports( void)
{
	short i;
	
	print ("\nChecking ports\n");
	print ("-----------------------------\n");
	ResetFilter();
	for(i=0; i<LastPort; i++) {
		print ("  port %d : ", i);
		RejectPort(myFilterPtr,i);
		TestPort( i);
		AcceptPort(myFilterPtr,i);
		flush;
	}
}