|
|
1.1 ! root 1: #ifndef __CSB_DOT_H ! 2: #define __CSB_DOT_H ! 3: ! 4: /* ! 5: * _CSB.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 ! 14: * "private" CompuServe B+transfer support routines. Every private ! 15: * routine has a name that starts with an underscore. Since the private ! 16: * routines are actually found in several different files, there is no ! 17: * way to make them truly private, but the high end user would be best ! 18: * off just ignoring these routines. ! 19: * ! 20: * MODIFICATIONS ! 21: * ! 22: * April 29, 1994 5.00A : Initial release ! 23: */ ! 24: ! 25: #define BPLUS_SEND_AHEAD_BUFFERS 5 /* Number of buffers before ACK */ ! 26: /* is expected */ ! 27: #define BPLUS_DEFAULT_PACKET_SIZE 1031 ! 28: #define BPLUS_MASK_LO_RANGE 0x01 ! 29: #define BPLUS_MASK_HI_RANGE 0x10 ! 30: ! 31: /* ! 32: * CompuServe B+ quoting levels and mask ! 33: */ ! 34: #define BPLUS_QUOTING_LEVEL_0 0 /* No qouting level */ ! 35: #define BPLUS_QUOTING_LEVEL_1 1 ! 36: #define BPLUS_QUOTING_LEVEL_2 2 ! 37: #define BPLUS_QUOTING_LEVEL_3 3 ! 38: #define BPLUS_QUOTING_MASK 4 ! 39: ! 40: ! 41: typedef enum { ! 42: BPLUS_GET_DLE, ! 43: BPLUS_DLE_SEEN, ! 44: BPLUS_DLE_B_SEEN, ! 45: BPLUS_GET_DATA, ! 46: BPLUS_GET_CHECKSUM, ! 47: BPLUS_GET_CRC_16, ! 48: BPLUS_GET_CRC_32, ! 49: BPLUS_VERIFY_CRC, ! 50: BPLUS_VERIFY_CHECKSUM, ! 51: BPLUS_VERIFY_PACKET, ! 52: BPLUS_SEND_NAK, ! 53: BPLUS_SEND_ACK, ! 54: BPLUS_SEND_ENQ, ! 55: BPLUS_RESEND_PACKETS ! 56: } BPLUS_ACTION; ! 57: ! 58: ! 59: #define NORMAL_MODE 0 ! 60: #define ESCAPE_SEQ_MODE 1 ! 61: #define BPLUS_LOW_RANGE 7 ! 62: #define BPLUS_HIGH_RANGE 11 ! 63: #define BPLUS_PLUS_PACKET_SIZE 18 ! 64: ! 65: ! 66: typedef struct pending_info { ! 67: int seq_num; ! 68: int packet_size; ! 69: unsigned char *packet; ! 70: } PENDING_PACKET; ! 71: ! 72: typedef struct _csb_options { ! 73: int transfer_complete; ! 74: int s_seq_num; ! 75: int buffer_size; ! 76: int char_timeout; ! 77: int last_character; ! 78: int not_masked; ! 79: int packets_not_acked; ! 80: PENDING_PACKET pending[ BPLUS_SEND_AHEAD_BUFFERS ]; ! 81: int pending_count; ! 82: int next_packet; ! 83: char check_crc; ! 84: int sent_enq; ! 85: int last_ack; ! 86: int quoting; ! 87: char mask[ 32 ]; ! 88: } _CSB_DATA; ! 89: ! 90: int GF_CONV _BPTransfer( XFER *bplus ); ! 91: unsigned short int GF_CONV _CalculateBPlusCRC16( unsigned short crc, ! 92: unsigned char c ); ! 93: ! 94: #endif /* #ifdef __CSB_DOT_H */ ! 95:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.