x25_asy.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _LINUX_X25_ASY_H
  2. #define _LINUX_X25_ASY_H
  3. /* X.25 asy configuration. */
  4. #define SL_NRUNIT 256 /* MAX number of X.25 channels;
  5.    This can be overridden with
  6.    insmod -ox25_asy_maxdev=nnn */
  7. #define SL_MTU 256
  8. /* X25 async protocol characters. */
  9. #define X25_END         0x7E /* indicates end of frame */
  10. #define X25_ESC         0x7D /* indicates byte stuffing */
  11. #define X25_ESCAPE(x) ((x)^0x20)
  12. #define X25_UNESCAPE(x) ((x)^0x20)
  13. struct x25_asy {
  14.   int magic;
  15.   /* Various fields. */
  16.   struct tty_struct *tty; /* ptr to TTY structure */
  17.   struct net_device *dev; /* easy for intr handling */
  18.   /* These are pointers to the malloc()ed frame buffers. */
  19.   unsigned char *rbuff; /* receiver buffer */
  20.   int                   rcount;         /* received chars counter       */
  21.   unsigned char *xbuff; /* transmitter buffer */
  22.   unsigned char         *xhead;         /* pointer to next byte to XMIT */
  23.   int                   xleft;          /* bytes left in XMIT queue     */
  24.   /* X.25 interface statistics. */
  25.   unsigned long rx_packets; /* inbound frames counter */
  26.   unsigned long         tx_packets;     /* outbound frames counter      */
  27.   unsigned long rx_bytes; /* inbound byte counte */
  28.   unsigned long         tx_bytes;       /* outbound byte counter */
  29.   unsigned long         rx_errors;      /* Parity, etc. errors          */
  30.   unsigned long         tx_errors;      /* Planned stuff                */
  31.   unsigned long         rx_dropped;     /* No memory for skb            */
  32.   unsigned long         tx_dropped;     /* When MTU change              */
  33.   unsigned long         rx_over_errors; /* Frame bigger then X.25 buf.  */
  34.   int mtu; /* Our mtu (to spot changes!)   */
  35.   int                   buffsize;       /* Max buffers sizes            */
  36.   unsigned long flags; /* Flag values/ mode etc */
  37. #define SLF_INUSE 0 /* Channel in use               */
  38. #define SLF_ESCAPE 1               /* ESC received                 */
  39. #define SLF_ERROR 2               /* Parity, etc. error           */
  40. #define SLF_OUTWAIT 4 /* Waiting for output */
  41. };
  42. #define X25_ASY_MAGIC 0x5303
  43. extern int x25_asy_init(struct net_device *dev);
  44. #endif /* _LINUX_X25_ASY.H */