home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d02xx / d0248.lha / NetHandler / netdev.h < prev    next >
C/C++ Source or Header  |  1989-09-16  |  4KB  |  102 lines

  1.  
  2. /************************************************************************
  3. *                                                                       *
  4. *    Copyright (C) 1989, The Software Distillery.  All Rights Reserved. *
  5. *                                                                       *
  6. ************************************************************************/
  7.  
  8.  
  9.  
  10. #ifndef DEVICES_NETDEV_H
  11. #define DEVICES_NETDEV_H
  12.  
  13. #ifndef EXEC_IO_H
  14. #include "exec/io.h"
  15. #endif !EXEC_IO_H
  16.  
  17. #ifndef EXEC_DEVICES_H
  18. #include "exec/devices.h"
  19. #endif !EXEC_DEVICES_H
  20.  
  21.  
  22.  
  23. /*
  24.  *--------------------------------------------------------------------
  25.  *
  26.  * Driver Specific Commands
  27.  *
  28.  *--------------------------------------------------------------------
  29.  */
  30.  
  31. #define CHF_HANDLER (1<<15)              /* for internal use only! */
  32. #define CHF_SERVER  (1<<14)              /* for internal use only! */
  33.  
  34. /*
  35.  *--------------------------------------------------------------------
  36.  *
  37.  * Commands with the CHF_HANDLER bit set are only allowed on the handler
  38.  * unit.  Reads and Writes with the handler bit set can only be
  39.  * satisfied by Writes or Reads from the remote node with the CHF_SERVER
  40.  * bit set.
  41.  *
  42.  *--------------------------------------------------------------------
  43.  */
  44. #define HCH_READ         (CMD_READ|CHF_HANDLER) /* Read data from a server*/
  45. #define HCH_WRITE        (CMD_WRITE|CHF_HANDLER)/* Write data to a server */
  46.  
  47. #define HCH_ATTACH       ((CMD_NONSTD+0)|CHF_HANDLER) /* Attach to new server */
  48. #define HCH_DETACH       ((CMD_NONSTD+1)|CHF_HANDLER) /* Detach from a server */
  49. #define HCH_STATUS       ((CMD_NONSTD+2)|CHF_HANDLER) /* Give node status     */
  50. #define HCH_ADDCHANGEINT ((CMD_NONSTD+3)|CHF_HANDLER) /* Install softint      */
  51. #define HCH_REMCHANGEINT ((CMD_NONSTD+4)|CHF_HANDLER) /* Remove softint set   */
  52.                                                       /*  by ADDCHANGEINT     */
  53.  
  54. /*
  55.  *--------------------------------------------------------------------
  56.  *
  57.  * Commands with the CHF_SERVER bit set are only allowed on the server  
  58.  * unit.  Writes with the server bit set can only be satisfied by Reads  
  59.  * from the node specified in the io_Offset field that have the          
  60.  * CHF_HANDLER bit set.  Reads with the server bit set are posted with an
  61.  * io_Offset of -1 specified, and may be satisfied by a write with the   
  62.  * CHF_HANDLER bit set from any node.                                    
  63.  *
  64.  *--------------------------------------------------------------------
  65.  */
  66. #define SCH_READ         (CMD_READ|CHF_SERVER)  /* Read data from a handler */
  67. #define SCH_WRITE        (CMD_WRITE|CHF_SERVER) /* Write data to a server */
  68. #define SCH_NAME         (CMD_NONSTD+5|CHF_SERVER) /* Set new name        */
  69.  
  70. /*
  71.  *--------------------------------------------------------------------
  72.  *
  73.  * Predefined unit numbers  :
  74.  * Handlers open the CHU_HANDLER unit; servers open the CHU_SERVER
  75.  * unit.  Commands with the CHF_HANDLER bit set are valid only on
  76.  * the handler unit; commands with the CHF_SERVER bit set are valid
  77.  * only on the server unit.
  78.  *
  79.  *--------------------------------------------------------------------
  80.  */
  81.  
  82. #define CHU_HANDLER -1   /* Handler unit number */
  83. #define CHU_SERVER  -2   /* Server unit number  */
  84.  
  85. /*
  86.  *--------------------------------------------------------------------
  87.  *
  88.  * Driver error defines
  89.  *
  90.  *--------------------------------------------------------------------
  91.  */
  92.  
  93. #define CHERR_NotSpecified  41  /* general catchall */
  94. #define CHERR_BadNodeID     42  /* Invalid node ID passed */
  95. #define CHERR_NodeDown      43  /* Specified node is down */
  96. #define CHERR_UnitInUse     44  /* Unit number in use */
  97. #define CHERR_BadRequest    45  /* IO request invalid or unknown */
  98. #define CHERR_IOErr         46  /* Physical I/O failure */
  99. #define CHERR_NameConflict  47  /* Name set request failed */
  100.                                         
  101. #endif DEVICES_COMMHAND_H
  102.