home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / gcc / ixemulsrc.lha / ixemul / include / net / netisr.h < prev    next >
C/C++ Source or Header  |  1996-12-11  |  2KB  |  50 lines

  1. /*
  2.  * Copyright (c) 1980, 1986 Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that the above copyright notice and this paragraph are
  7.  * duplicated in all such forms and that any documentation,
  8.  * advertising materials, and other materials related to such
  9.  * distribution and use acknowledge that the software was developed
  10.  * by the University of California, Berkeley.  The name of the
  11.  * University may not be used to endorse or promote products derived
  12.  * from this software without specific prior written permission.
  13.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15.  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16.  *
  17.  *    @(#)netisr.h    7.4 (Berkeley) 6/27/88
  18.  */
  19.  
  20. /*
  21.  * The networking code runs off software interrupts.
  22.  *
  23.  * You can switch into the network by doing splnet() and return by splx().
  24.  * The software interrupt level for the network is higher than the software
  25.  * level for the clock (so you can enter the network in routines called
  26.  * at timeout time).
  27.  */
  28. #if defined(vax) || defined(tahoe)
  29. #define    setsoftnet()    mtpr(SIRR, 12)
  30. #endif
  31.  
  32. /*
  33.  * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
  34.  * word which is used to de-multiplex a single software
  35.  * interrupt used for scheduling the network code to calls
  36.  * on the lowest level routine of each protocol.
  37.  */
  38. #define    NETISR_RAW    0        /* same as AF_UNSPEC */
  39. #define    NETISR_IP    2        /* same as AF_INET */
  40. #define    NETISR_IMP    3        /* same as AF_IMPLINK */
  41. #define    NETISR_NS    6        /* same as AF_NS */
  42.  
  43. #define    schednetisr(anisr)    { netisr |= 1<<(anisr); setsoftnet(); }
  44.  
  45. #ifndef LOCORE
  46. #ifdef _KERNEL
  47. int    netisr;                /* scheduling bits for network */
  48. #endif
  49. #endif
  50.