|
|
1.1 root 1: #ifndef __ZM_DOT_H
2: #define __ZM_DOT_H
3:
4: /*
5: * _ZM.H 5.20A June 8, 1995
6: *
7: * The Greenleaf Comm Library
8: *
9: * Copyright (C) 1984-1995 Greenleaf Software Inc. All Rights Reserved.
10: *
11: * NOTES
12: *
13: * This header file has the declarations necessary for accessing the "private"
14: * zmodem transfer support routines. Every private routine has a name that
15: * starts with an underscore. Since the private routines are actually found
16: * in several different files, there is no way to make them truly private,
17: * but the high end user would be best off just ignoring these routines.
18: *
19: * MODIFICATIONS
20: *
21: * December 12, 1992 4.00A : Initial release
22: */
23:
24: /*
25: * Note that these constants are taken from Chuck Forsberg's
26: * Public Domain code, and are therefore not copyrighted by
27: * Greenleaf Software.
28: */
29:
30: #define ZRQINIT 0 /* Request receive init */
31: #define ZRINIT 1 /* Receive init */
32: #define ZSINIT 2 /* Send init sequence (optional) */
33: #define ZACK 3 /* ACK to above */
34: #define ZFILE 4 /* File name from sender */
35: #define ZSKIP 5 /* To sender: skip this file */
36: #define ZNAK 6 /* Last packet was garbled */
37: #define ZABORT 7 /* Abort batch transfers */
38: #define ZFIN 8 /* Finish session */
39: #define ZRPOS 9 /* Resume data trans at this position */
40: #define ZDATA 10 /* Data packet(s) follow */
41: #define ZEOF 11 /* End of file */
42: #define ZFERR 12 /* Fatal Read or Write error Detected */
43: #define ZCRC 13 /* Request for file CRC and response */
44: #define ZCHALLENGE 14 /* Receiver's Challenge */
45: #define ZCOMPL 15 /* Request is complete */
46: #define ZCAN 16 /* Other end canned session with CAN*5 */
47:
48: #define ZPAD '*'
49: #define ZDLE CAN
50: #define ZBIN 'A'
51: #define ZHEX 'B'
52: #define ZVBIN 'a'
53: #define ZVHEX 'b'
54: #define ZBIN32 'C'
55: #define ZMAXHLEN 16
56: #define ZMAXSPLEN 1024
57:
58: #define ZCRCE 'h' /* CRC next, frame ends, header packet follows */
59: #define ZCRCG 'i' /* CRC next, frame continues nonstop */
60: #define ZCRCQ 'j' /* CRC next, frame continues, ZACK expected */
61: #define ZCRCW 'k' /* CRC next, ZACK expected, end of frame */
62: #define ZRUB0 'l' /* Translate to rubout 0177 */
63: #define ZRUB1 'm' /* Translate to rubout 0377 */
64:
65: #define CANFDX 01 /* Rx can send and receive true FDX */
66: #define CANOVIO 02 /* Rx can receive data during disk I/O */
67:
68: int GF_CONV _ZmodemReadFrameHeader( XFER *zmodem, int immediate_return );
69:
70: int GF_CONV _ZmodemSendBinaryPacket( XFER *zmodem,
71: int length,
72: char terminator );
73: int GF_CONV _ZmodemReadBinaryPacket( XFER *zmodem );
74: int GF_CONV _ZmodemSendBinaryHeader( XFER *zmodem, char frame_type,
75: char *header_data );
76: int GF_CONV _ZmodemSendHexHeader( XFER *zmodem, char frame_type,
77: unsigned char *header_data );
78:
79: #endif /* #ifdef __ZM_DOT_H */
80:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.