home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / jioctl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  3.5 KB  |  108 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _SYS_JIOCTL_H
  11. #define _SYS_JIOCTL_H
  12.  
  13. #ident    "@(#)/usr/include/sys/jioctl.h.sl 1.1 4.0 12/08/90 12533 AT&T-USL"
  14.  
  15. /*
  16.  * jioctl.h
  17.  *
  18.  * Low level control codes for communication between the host and a
  19.  * windowing terminal. See windows.h for additional messages used by
  20.  * libwindows.
  21.  * 
  22.  * In case you are wondering what the "j" in jioctl stands for,
  23.  * the "j" stands for jerq which was the first windowing terminal.
  24.  * The jerq became the Blit which begot the 5620 DMD which begot
  25.  * the 615, the 620 and the 630 MTG.
  26.  */
  27.  
  28.  
  29. /*
  30.  * Ioctl requests sent to the xt driver. The types JMPX, JWINSIZE,
  31.  * and JTRUN are processed locally by xt. The others involve sending
  32.  * a control message to the terminal on channel 0 (the control
  33.  * channel). In the control message, the lower bytes of these defines
  34.  * are used as the first byte of the control message.
  35.  *
  36.  * Note that packets sent from the host to the terminal on channels
  37.  * other than 0 are implicitly data packets.
  38.  */
  39.  
  40. #define    JTYPE        ('j'<<8)
  41. #define    JBOOT        (JTYPE|1)  /* start a download in a window */
  42. #define    JTERM        (JTYPE|2)  /* return to default terminal emulator */
  43. #define    JMPX        (JTYPE|3)  /* currently running layers? */
  44.  
  45. /*** Timeout in seconds. Not supported by streams xt, but reserve
  46. *    this number to avoid confusion.
  47. #define    JTIMO        (JTYPE|4)
  48. ***/
  49.  
  50. #define    JWINSIZE    (JTYPE|5)  /* inquire window size */
  51. #define    JTIMOM        (JTYPE|6)  /* timeouts in millisecs */
  52. #define    JZOMBOOT    (JTYPE|7)  /* JBOOT but wait for debugger to run */
  53. #define JAGENT        (JTYPE|9)  /* control for both directions */
  54. #define JTRUN        (JTYPE|10) /* send runlayer command to layers cmd */
  55. #define JXTPROTO    (JTYPE|11) /* set xt protocol type */
  56.  
  57. /*
  58.  * jwinsize structure used by JWINSIZE message.
  59.  */
  60.  
  61. struct jwinsize
  62. {
  63.     char    bytesx, bytesy;    /* Window size in characters */
  64.     short    bitsx, bitsy;    /* Window size in bits */
  65. };
  66.  
  67. /*
  68.  * Channel 0 control message format.
  69.  */
  70.  
  71. struct jerqmesg
  72. {
  73.     char    cmd;        /* A control code above */
  74.     char    chan;        /* Channel it refers to */
  75. };
  76.  
  77. /*
  78.  * The first byte of every xt packet from the terminal to the host
  79.  * is one of these control codes. Data packets start with either
  80.  * C_SENDCHAR or C_SENDNCHARS.
  81.  *
  82.  * The usual format is: [command][data]
  83. */
  84.  
  85. #define    C_SENDCHAR    1    /* Send character to layer process */
  86. #define    C_NEW        2    /* Create a new layer */
  87. #define    C_UNBLK        3    /* Unblock layer process */
  88. #define    C_DELETE    4    /* Delete layer process group */
  89. #define    C_EXIT        5    /* Exit layers */
  90. #define    C_DEFUNCT    6    /* Send terminate signal to proc. group */
  91. #define    C_SENDNCHARS    7    /* Send several characters to layer proc. */
  92. #define    C_RESHAPE    8    /* Layer has been reshaped */
  93. #define C_RUN           9       /* Run command in layer (local to xt/layers) */
  94. #define C_NOFLOW        10      /* Disable network xt flow control */
  95. #define C_YESFLOW       11      /* Enable network xt flow control */
  96.  
  97. /*
  98.  * Format of JAGENT packets.
  99.  */
  100.  
  101. struct bagent{        /* this is supposed to be 12 bytes long */
  102.     long size;      /* size of src string going in and dest string out */
  103.     char * src;    /* address of the source byte string */
  104.     char * dest;    /* address of the destination byte string */
  105. };
  106.  
  107. #endif    /* _SYS_JIOCTL_H */
  108.