home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / t / twindv21.zip / GRACILIS.H < prev    next >
C/C++ Source or Header  |  1992-09-07  |  2KB  |  93 lines

  1. /****************************************************************************
  2. *
  3. *            COPYRIGHT 1990,91,92 BY GRACILIS INC.
  4. *
  5. *             623 Palace St.
  6. *             Aurora, Il. 60506
  7. *
  8. *             (708)-801-8800        Office
  9. *             (708)-844-0183        (FAX - Support BBS)
  10. *
  11. * GRACILIS, INC., MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS 
  12. * SOFTWARE FOR ANY PURPOSE.  
  13. *
  14. * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
  15. * Permission is granted for non-commercial use/distribution only, as long as
  16. * this copyright header is included intact and unaltered.
  17. *
  18. ******************************************************************************/
  19.  
  20. #ifndef GRACILIS
  21.  
  22. #define GRACILIS
  23.  
  24. #define OLD_KA9Q    1    /* for versions of nos up to and including 12/29/91 */
  25.  
  26. /* Commonly used data types for Gracilis drivers */
  27. typedef unsigned short  uint;    
  28. typedef unsigned long   ulong;    
  29. typedef unsigned char    bool;
  30. typedef unsigned char    uchar;
  31. typedef unsigned char    byte;
  32.  
  33.  
  34.  
  35. /* Gracilis Universal driver control block */
  36. /* UNI_DCB's are declared as an array; each entry is initialized */
  37. /* by an "attach" routine.   */
  38.  
  39. typedef struct udcbblock {
  40.     unsigned char    attached;     /* TRUE then type TenPackSwitch hw is */
  41.                                 /* attached, FALSE it is not attached */
  42.                                 /* MUST BE INITIALIZED TO FALSE */
  43.     char    type;                /* ASYNC_8530, SYNC_8530, */
  44.     void (*prev_vec1)();        /* previous vectors, i.e. an address */
  45.     void (*prev_vec2)();        /* for the vector's ISR */
  46.     void (*prev_vec3)();        /* Allow for up to 4 vectors/channel */
  47.     void (*prev_vec4)();
  48.     char *dcbp;                    /* address of driver specific control block */    
  49.  
  50. } UNI_DCB;
  51.  
  52.  
  53. /*  
  54.  * driver buffer block
  55.  */
  56. struct drvbuf {
  57.     struct drvbuf *next;    /* pointer to next drvbuf in LL */
  58.     int16  msgsize;        /* number of bytes in message */
  59.     char  buf;        /* 1st byte of message */
  60. };
  61.  
  62. struct mbuf_qhat {
  63.     struct mbuf *headp;
  64.     struct mbuf *tailp;
  65. };
  66.  
  67.  
  68. /* 
  69.  * driver timer control block
  70.  */
  71. struct drv_timer {
  72.             struct drv_timer  *nxt_timer;
  73.             int16        ticks;
  74.             void        (*thandler)();
  75.             unsigned long    targ;
  76.             };
  77.  
  78. /* Gracilis specific ioctl parameters */
  79. #define    GRACILIS_PARM_BASE    50
  80. #define PARAM_RXBUFS    GRACILIS_PARM_BASE
  81. #define    PARAM_TXQMAX    GRACILIS_PARM_BASE+1
  82.  
  83. #define MAX_AX25_HDR_LEN 72
  84.  
  85.  
  86. /* Function definitions for gracilis.c */
  87. extern struct mbuf     *f_dequeavail();
  88. extern void         f_getavail();
  89.  
  90.  
  91. #endif    /* GRACILIS */
  92.