www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/11/29/19:40:26

Xref: news-dnh.mv.net comp.os.msdos.djgpp:3497
Path: news-dnh.mv.net!mv!news.sprintlink.net!news.uoregon.edu!newsfeed.internetmci.com!in2.uu.net!nntp.crl.com!crl.crl.com!not-for-mail
From: src AT crl DOT com (James R Cantrell)
Newsgroups: comp.os.msdos.djgpp
Subject: Assigning interrupt procedures in djgpp.
Date: 28 Nov 1995 21:11:03 -0800
Organization: CRL Network Services (415) 705-6060 [Login: guest]
Lines: 49
Nntp-Posting-Host: crl.com
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

   I am trying to transfer my serial port class from Borland C++ to 
djgpp.  My major stumbling block is figuring out how to assign the 
interrupts.  Can someone help me?  I'll send anybody who wants to help 
the source code if it's needed...

Can anyone tell me what the djgpp equivalents are for the following 
statements in Borland C++?

-------------------- Source Fragment Starts Here ---------
class UARTio
   {
   // ... stuff omitted
   public:
      // ... stuff omitted
      void interrupt far (*oldAction)(...);
      static void interrupt far serialAction(...);
      // ... stuff omitted
   };

void UARTio::installInterrupt()
   {
   // ... stuff omitted
   if (getvect(irq + 8) != serialAction)
      {
      oldAction = getvect(irq + 8);  // Save the old interrupt
      disable();                     // Disable the interrupts
      setvect(irq + 8, serialAction);// Install the class's interrupt
      enable();                      // Enable the interrupts
      }
   // ... stuff omitted
   }

void interrupt far UARTio::serialAction()
   {
   if (!UARTioClass->isModem)
      {
      UARTioClass->selfAction();    // Use the serial-link actions
      }
   else
      {
      UARTioClass->modemAction();   // Use the modem actions
      }
   sendEOI();   // send End of Interrupt signal
   }

-----------------------  Source Fragment Ends Here ------------------

Thanks,
Shane Cantrell

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019