From: Damian Yerrick Newsgroups: comp.os.msdos.djgpp Subject: Re: LOCK_FUNCTION(x) macro Organization: Pin Eight Software http://pineight.8m.com/ Message-ID: References: <20000522233748 DOT 17166 DOT 00000881 AT ng-bg1 DOT aol DOT com> X-Newsreader: Forte Agent 1.7/32.534 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 36 X-Trace: /bCCZGfwbQv1DM2ju8vEEOvHQhugIR2oEgT7CAuBvwGX6nWxpZQ7ATPxecI5TBjw1eyKONx7imob!bPdp6vnBRx50tMg3aEojDRAdPOH4VOGpGYwqdj+XSBACbnc6eteDpGsNay1mCYp3rTE7aKulVOAW!MPR65TQ= X-Complaints-To: abuse AT gte DOT net X-Abuse-Info: Please be sure to forward a copy of ALL headers X-Abuse-Info: Otherwise we will be unable to process your complaint properly NNTP-Posting-Date: Tue, 23 May 2000 03:43:11 GMT Distribution: world Date: Tue, 23 May 2000 03:43:11 GMT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On 23 May 2000 03:37:48 GMT, omega782 AT aol DOT com (Omega782) wrote: >The lock function macro described in the djgpp djgpp user's guide > >("http://www.delorie.com/djgpp/doc/ug/interrupts/overview.html") > >is defined as: > >#define LOCK_FUNCTION(x) _go32_dpmi_lock_code(x,(long)sizeof(x)); > >When I tried to use this, I got the compile time error: > >"ANSI C++ forbids taking the sizeof a function type" > >When I tried using the Allegro definition of lock function: > >#define LOCK_CODE(c,s) _go32_dpmi_lock_code((c), (s)) >#define LOCK_FUNCTION(x) LOCK_CODE(x, (long)x##_end - (long)x) > >I got the error: > >dspcabs.h:39: `DSpaceKeyboardInterruptHandler_end' undeclared (first use this >function) > >(DSpaceKeyboardInterruptHandler is my ISR) Put this right after your ISR: END_OF_FUNCTION(DSpaceKeyboardInterruptHandler); -- Damian Yerrick "I refuse to listen to those who refuse to listen to reason." See the whole sig: http://www.rose-hulman.edu/~yerricde/sig.html This is McAfee VirusScan. Add these two lines to your signature to prevent the spread of signature viruses. http://www.mcafee.com/