Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/mppcc.c
Show First 20 Lines • Show All 226 Lines • ▼ Show 20 Lines | #endif | ||||
/* Encode offset. */ | /* Encode offset. */ | ||||
if (off < 64) { /* 10-bit offset; 0 <= offset < 64 */ | if (off < 64) { /* 10-bit offset; 0 <= offset < 64 */ | ||||
putbits16(*dst, 0x3c0|off, 10, &olen, &l); | putbits16(*dst, 0x3c0|off, 10, &olen, &l); | ||||
} else if (off < 320) { /* 12-bit offset; 64 <= offset < 320 */ | } else if (off < 320) { /* 12-bit offset; 64 <= offset < 320 */ | ||||
putbits16(*dst, 0xe00|(off-64), 12, &olen, &l); | putbits16(*dst, 0xe00|(off-64), 12, &olen, &l); | ||||
} else if (off < 8192) { /* 16-bit offset; 320 <= offset < 8192 */ | } else if (off < 8192) { /* 16-bit offset; 320 <= offset < 8192 */ | ||||
putbits16(*dst, 0xc000|(off-320), 16, &olen, &l); | putbits16(*dst, 0xc000|(off-320), 16, &olen, &l); | ||||
} else { /* NOTREACHED */ | } else { /* NOTREACHED */ | ||||
__unreachable(); | __assert_unreachable(); | ||||
rtn &= ~MPPC_OK; | rtn &= ~MPPC_OK; | ||||
return (rtn); | return (rtn); | ||||
} | } | ||||
/* Encode length of match. */ | /* Encode length of match. */ | ||||
if (len < 4) { /* length = 3 */ | if (len < 4) { /* length = 3 */ | ||||
putbits8(*dst, 0, 1, &olen, &l); | putbits8(*dst, 0, 1, &olen, &l); | ||||
} else if (len < 8) { /* 4 <= length < 8 */ | } else if (len < 8) { /* 4 <= length < 8 */ | ||||
▲ Show 20 Lines • Show All 57 Lines • Show Last 20 Lines |