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

📄 mdist.h

📁 一个C编写网络广播的程序
💻 H
字号:
/* mdist.h -- core definitions header file *   * This file is part of 'netcast' program, released under BSD License.  * (c) 2001-2002 Stanis砤w Pa秌o <staszek@nutki.com>. All rights reserved.    */#ifndef _MDIST_MDIST_H#define _MDIST_MDIST_H#include <unistd.h>#include <netinet/ip.h>#include <netinet/udp.h>#include "debug.h"#define MTU 1500#define MMSIZE MTU-sizeof(struct iphdr)-sizeof(struct udphdr)#define MMDSIZ ((MMSIZE-sizeof(struct mdmsg))>>2)<<2#define ROUND 1024#define BUFSIZE MMSIZE*ROUND#define BUFPOS(x) MMSIZE*x#define DEF_PORT 9876//! Single message as received from the netstruct mdmsg {  uint32_t seq;  uint32_t crc;  uint16_t siz;  uint8_t data[0];};//! TCP messages//! Control messagestruct mdctl {  uint32_t blk;              //! Block number  uint32_t base;             //! Base for packet sequence nums  uint32_t siz;              //! Block size   uint32_t pkt;              //! Number of packets to-be-transmitted};#define CLIENT_START 0x1#define CLIENT_READY 0x2#define CLIENT_REQ 0x4//! Client replystruct mdreq {  uint32_t ack;              //! Acknowledge block number  uint32_t rqc;              //! Requested blocks count};//! Initial datastruct mdinit {  struct sockaddr_in group;};  extern struct mdmsg *mdbuf[ROUND];extern struct mdctl mdhead;extern struct mdinit mdini;void md_init();long md_fill(int fd);long md_flush(int fd);struct mdmsg *md_put(struct mdmsg *src);struct mdmsg *md_get(uint32_t seq);#endif

⌨️ 快捷键说明

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