protocol.h

来自「数据链路层滑动窗口协议的设计与实现。有完整的说明和模拟环境文档。」· C头文件 代码 · 共 45 行

H
45
字号
/* Initalization */ 
void protocol_init(int argc, char **argv);

/* Event Driver */
int wait_for_event(int *arg);

#define NETWORK_LAYER_READY  0
#define PHYSICAL_LAYER_READY 1
#define DATA_INCOMING        2
#define DATA_TIMEOUT         3
#define ACK_TIMEOUT          4

/* Network Layer functions */
#define MAX_PKT_LEN 256
#define MIN_PKT_LEN 240

void enable_network_layer(void);
void disable_network_layer(void);
int  get_packet(unsigned char *packet);
void put_packet(unsigned char *packet, int len);

/* Physical Layer functions */
unsigned char recv_byte(void);
void send_byte(unsigned char byte);
void phl_sq_clear(void);
int  phl_sq_len(void);

/* CRC-32 polynomium coding function */
unsigned int crc32(unsigned char *buf, int len);

/* Timer Management functions */
unsigned int get_ms(void);
void start_timer(unsigned int nr, unsigned int ms);
void stop_timer(unsigned int nr);
void start_ack_timer(unsigned int ms);
void stop_ack_timer(void);

/* Protocol Debugger */
extern void log_printf(char *fmt, ...);
extern void lprintf(char *fmt, ...);
extern void dbg_event(char *fmt, ...);
extern void dbg_frame(char *fmt, ...);


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?