⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protocol.h

📁 数据链路层滑动窗口协议的设计与实现。有完整的说明和模拟环境文档。
💻 H
字号:
/* 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -