67 lines
2.2 KiB
C
67 lines
2.2 KiB
C
/*
|
|
P_ZMODEM.H - Header file for Zmodem protocol
|
|
|
|
Written by John, August 1995
|
|
*/
|
|
#ifndef P_ZMODEM_H
|
|
#define P_ZMODEM_H
|
|
|
|
/* ZDLE sequences */
|
|
#define ZCRCE 'h' /* CRC next, frame ends, header packet follows */
|
|
#define ZCRCG 'i' /* CRC next, frame continues nonstop */
|
|
#define ZCRCQ 'j' /* CRC next, frame continues, ZACK expected */
|
|
#define ZCRCW 'k' /* CRC next, ZACK expected, end of frame */
|
|
#define ZRUB0 'l' /* Translate to rubout 0177 */
|
|
#define ZRUB1 'm' /* Translate to rubout 0377 */
|
|
|
|
/* Zmodem frame byte defines */
|
|
#define ZPAD 0x2A
|
|
#define ZDLE 0x18
|
|
#define ZBIN 0x41
|
|
#define ZHEX 0x42
|
|
#define ZBIN_32 0x43
|
|
#define CAN 0x18 /* Makes the ZDLE choice the worst possible */
|
|
|
|
/* P_FCONNECT service connection modes */
|
|
#define P_ZMDM_RECV 0 /* want link as acceptor/receiver of files */
|
|
#define P_ZMDM_SEND 1 /* want link as initiator/sendor of files */
|
|
|
|
#define P_ZMDM_NLOG 32 /* Max number of debug events,states we record */
|
|
/* Event types */
|
|
#define P_ZMDM_LOG_PANIC 0xC0 /* panic number */
|
|
#define P_ZMDM_LOG_COMP 0x40 /* user completion */
|
|
#define P_ZMDM_LOG_REQ 0x80 /* user request */
|
|
|
|
/* State and event log record */
|
|
typedef struct
|
|
{
|
|
UBYTE state;
|
|
UBYTE event;
|
|
} P_ZMLOG;
|
|
|
|
#define P_ZM_MAX_BUF 1030
|
|
|
|
/* Frame types that we received */
|
|
#define P_ZM_FRAME_TYPE_RQ_INIT 0
|
|
#define P_ZM_FRAME_TYPE_R_INIT 1
|
|
#define P_ZM_FRAME_TYPE_S_INIT 2
|
|
#define P_ZM_FRAME_TYPE_ACK 3
|
|
#define P_ZM_FRAME_TYPE_FILE 4
|
|
#define P_ZM_FRAME_TYPE_SKIP 5
|
|
#define P_ZM_FRAME_TYPE_NAK 6
|
|
#define P_ZM_FRAME_TYPE_ABORT 7
|
|
#define P_ZM_FRAME_TYPE_FINISH 8
|
|
#define P_ZM_FRAME_TYPE_R_POS 9
|
|
#define P_ZM_FRAME_TYPE_DATA 10
|
|
#define P_ZM_FRAME_TYPE_EOF 11
|
|
#define P_ZM_FRAME_TYPE_FILE_ERR 12
|
|
#define P_ZM_FRAME_TYPE_CRC 13
|
|
#define P_ZM_FRAME_TYPE_CHALLENGE 14
|
|
#define P_ZM_FRAME_TYPE_COMPLETE 15
|
|
#define PSEUDO_IMPLEMENTATION_SPECIFIC_FRAME 16
|
|
#define P_ZM_FRAME_TYPE_FREE_SIZE 17
|
|
#define P_ZM_FRAME_TYPE_COMMAND 18
|
|
#define P_ZM_FRAME_TYPE_STD_ERR 19
|
|
|
|
#endif // P_ZMODEM_H
|