Subversion Repositories pentevo

Rev

Rev 638 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ;LAST UPDATE: 27.02.2014 savelij
  3.  
  4. ;/*
  5. ; *   Z M O D E M . H     Manifest constants for ZMODEM
  6. ; *    application to application file transfer protocol
  7. ; *    05-23-87  Chuck Forsberg Omen Technology Inc
  8. ; */
  9.  
  10. BLKSIZE         EQU 1024                ;/* absolute max. block size */
  11.  
  12. XOFF            EQU 's'&0X1F
  13. XON             EQU 'q'&0X1F
  14. CAN             EQU 'X'&0X1F
  15. RETRYMAX        EQU 10
  16.  
  17. ZPAD            EQU '*'                 ;/* 052 Padding character begins frames */
  18. ZDLE            EQU 0X18                ;/* Ctrl-X Zmodem escape - `ala BISYNC DLE */
  19. ZDLEE           EQU ZDLE^0X40           ;/* Escaped ZDLE as transmitted */
  20. ZBIN            EQU 'A'                 ;/* Binary frame indicator */
  21. ZHEX            EQU 'B'                 ;/* HEX frame indicator */
  22. ZBIN32          EQU 'C'                 ;/* Binary frame with 32 bit FCS */
  23.  
  24. ;/* Frame types (see array "frametypes" in zm.c) */
  25. ZRQINIT         EQU 0                   ;/* Request receive init */
  26. ZRINIT          EQU 1                   ;/* Receive init */
  27. ZSINIT          EQU 2                   ;/* Send init sequence (optional) */
  28. ZACK            EQU 3                   ;/* ACK to above */
  29. ZFILE           EQU 4                   ;/* File name from sender */
  30. ZSKIP           EQU 5                   ;/* To sender: skip this file */
  31. ZNAK            EQU 6                   ;/* Last packet was garbled */
  32. ZABORT          EQU 7                   ;/* Abort batch transfers */
  33. ZFIN            EQU 8                   ;/* Finish session */
  34. ZRPOS           EQU 9                   ;/* Resume data trans at this position */
  35. ZDATA           EQU 10                  ;/* Data packet(s) follow */
  36. ZEOF            EQU 11                  ;/* End of file */
  37. ZFERR           EQU 12                  ;/* Fatal Read or Write error Detected */
  38. ZCRC            EQU 13                  ;/* Request for file CRC and response */
  39. ZCHALLENGE      EQU 14                  ;/* Receiver's Challenge */
  40. ZCOMPL          EQU 15                  ;/* Request is complete */
  41. ZCAN            EQU 16                  ;/* Other end canned session with CAN*5 */
  42. ZFREECNT        EQU 17                  ;/* Request for free bytes on filesystem */
  43. ZCOMMAND        EQU 18                  ;/* Command from sending program */
  44. ZSTDERR         EQU 19                  ;/* Output to standard error, data follows */
  45. ZTIMEOUT        EQU 20                  ;/* for protocol error reports */
  46.  
  47. ;/* ZDLE sequences */
  48. ZCRCE           EQU 'h'                 ;/* CRC next, frame ends, header packet follows */
  49. ZCRCG           EQU 'i'                 ;/* CRC next, frame continues nonstop */
  50. ZCRCQ           EQU 'j'                 ;/* CRC next, frame continues, ZACK expected */
  51. ZCRCW           EQU 'k'                 ;/* CRC next, ZACK expected, end of frame */
  52. ZRUB0           EQU 'l'                 ;/* Translate to rubout 0177 */
  53. ZRUB1           EQU 'm'                 ;/* Translate to rubout 0377 */
  54.  
  55. ;/* zdlread return values (internal) */
  56. ;/* -1 is general error, -2 is timeout */
  57. GOTOR           EQU 0X100
  58. GOTCRCE         EQU (ZCRCE|GOTOR)       ;/* ZDLE-ZCRCE received */
  59. GOTCRCG         EQU (ZCRCG|GOTOR)       ;/* ZDLE-ZCRCG received */
  60. GOTCRCQ         EQU (ZCRCQ|GOTOR)       ;/* ZDLE-ZCRCQ received */
  61. GOTCRCW         EQU (ZCRCW|GOTOR)       ;/* ZDLE-ZCRCW received */
  62. GOTCAN          EQU (GOTOR|030)         ;/* CAN*5 seen */
  63.  
  64. ;/* Byte positions within header array */
  65. ZF0             EQU 3                   ;/* First flags byte */
  66. ZF1             EQU 2
  67. ZF2             EQU 1
  68. ZF3             EQU 0
  69. ZP0             EQU 0                   ;/* Low order 8 bits of position */
  70. ZP1             EQU 1
  71. ZP2             EQU 2
  72. ZP3             EQU 3                   ;/* High order 8 bits of file position */
  73.  
  74. ;/* Bit Masks for ZRINIT flags byte ZF0 */
  75. CANFDX          EQU 1                   ;/* Rx can send and receive true FDX */
  76. CANOVIO         EQU 2                   ;/* Rx can receive data during disk I/O */
  77. CANBRK          EQU 4                   ;/* Rx can send a break signal */
  78. CANCRY          EQU 8                   ;/* Receiver can decrypt */
  79. CANLZW          EQU 0X10                ;/* Receiver can uncompress */
  80. CANFC32         EQU 0X20                ;/* Receiver can use 32 bit Frame Check */
  81. ESCCTL          EQU 0X40                ;/* Receiver expects ctl chars to be escaped */
  82. ESC8            EQU 0X80                ;/* Receiver expects 8th bit to be escaped */
  83.  
  84. ;/* Parameters for ZSINIT frame */
  85. ZATTNLEN        EQU 32                  ;/* Max length of attention string */
  86.  
  87. ;/* Bit Masks for ZSINIT flags byte ZF0 */
  88. TESCCTL         EQU 0X40                ;/* Transmitter expects ctl chars to be escaped */
  89. TESC8           EQU 0X80                ;/* Transmitter expects 8th bit to be escaped */
  90.  
  91. ;/* Parameters for ZFILE frame */
  92. ;/* Conversion options one of these in ZF0 */
  93. ZCBIN           EQU 1                   ;/* Binary transfer - inhibit conversion */
  94. ZCNL            EQU 2                   ;/* Convert NL to local end of line convention */
  95. ZCRESUM         EQU 3                   ;/* Resume interrupted file transfer */
  96.  
  97. ;/* Management include options, one of these ored in ZF1 */
  98. ZMSKNOLOC       EQU 0X80                ;/* Skip file if not present at rx */
  99.  
  100. ;/* Management options, one of these ored in ZF1 */
  101. ZMMASK          EQU 0X1F                ;/* Mask for the choices below */
  102. ZMNEWL          EQU 1                   ;/* Transfer if source newer or longer */
  103. ZMCRC           EQU 2                   ;/* Transfer if different file CRC or length */
  104. ZMAPND          EQU 3                   ;/* Append contents to existing file (if any) */
  105. ZMCLOB          EQU 4                   ;/* Replace existing file */
  106. ZMNEW           EQU 5                   ;/* Transfer if source newer */
  107.  
  108. ;/* Number 5 is alive ... */
  109. ZMDIFF          EQU 6                   ;/* Transfer if dates or lengths different */
  110. ZMPROT          EQU 7                   ;/* Protect destination file */
  111.  
  112. ;/* Transport options, one of these in ZF2 */
  113. ZTLZW           EQU 1                   ;/* Lempel-Ziv compression */
  114. ZTCRYPT         EQU 2                   ;/* Encryption */
  115. ZTRLE           EQU 3                   ;/* Run Length encoding */
  116.  
  117. ;/* Extended options for ZF3, bit encoded */
  118. ZXSPARS         EQU 64                  ;/* Encoding for sparse file operations */
  119.  
  120. ;/* Parameters for ZCOMMAND frame ZF0 (otherwise 0) */
  121. ZCACK1          EQU 1                   ;/* Acknowledge, then do command */
  122.