📄 htmuxheader.h
字号:
/* W3C Sample Code Library libwww MUX Header Definition! MUX Header Definition!*//*** (c) COPYRIGHT MIT 1995.** Please first read the full copyright statement in the file COPYRIGH.*//*Define the parts of a mux header as defined by the MUX draft specification.This is not finalized so be warned!This module is does not contain a .c file. It is a part of the W3C Sample Code Library.*/#ifndef HTMUXHEADER_H#define HTMUXHEADER_H/*. Byte Swapping.MUX is currently using little endian headers.*/#ifdef WORDS_BIGENDIAN#define HT_WORDSWAP(a) ( ((a) << 24) | \ (((a) << 8) & 0x00ff0000) | \ (((a) >> 8) & 0x0000ff00) | \ ((unsigned int)(a) >> 24) )#else#define HT_WORDSWAP(a) ((a))#endif/*. The MUX Header.Simple, huh?*/typedef unsigned int HTMuxHeader;/*( Generic Header flags)*/#define MUX_LONG_LENGTH 0x80000000#define MUX_CONTROL 0x40000000/*( Data Header Flags)*/#define MUX_FLAGS 0x3C000000#define MUX_SYN 0x20000000#define MUX_FIN 0x10000000#define MUX_RST 0x08000000#define MUX_PUSH 0x04000000/*( Control Header Opcodes)*/#define MUX_OPCODES 0x3C000000#define MUX_STRING 0x00000000#define MUX_STACK 0x04000000#define MUX_FRAGMENT 0x08000000#define MUX_CREDIT 0x0C000000/*( Length and Session ID)*/#define MUX_SESSION 0x03FC0000#define MUX_LENGTH 0x0003FFFF/*. Macros for Byte Shifting.*/#define MUX_SET_SID(sid) ((sid) << 18)#define MUX_SET_LEN(len) ((len))#define MUX_SET_PID MUX_SET_LEN#define MUX_SET_OPCODE(op) ((op) << 26)#define MUX_GET_SID(sid) (((sid) & MUX_SESSION) >> 18)#define MUX_GET_LEN(len) ((len) & MUX_LENGTH)#define MUX_GET_PID MUX_GET_LEN#define MUX_GET_OPCODE(op) ((op) & MUX_OPCODES >> 26)/*. Header Alignment.You can force 8 byte alignment by defining this to 1. Normally, we decidepr MUX segment whether we have to use a long header or not.*/#define LONG_LENGTH 0 /* 4 or 8 bytes header? */#define MUX_IS_LONG(hdr) ((hdr) & MUX_LONG_LENGTH)#define MUX_ALIGN(len) ((len) + ((4-(len)%4) % 4))#define MUX_LONG_ALIGN(len) ((len) + ((8-(len)%8) % 8))/*.Default Values.*/#define DEFAULT_CREDIT 4096/**/#endif/* @(#) $Id: HTMuxHeader.html,v 2.3 1998/05/14 02:10:48 frystyk Exp $*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -