version 1.13, 2006/03/01 12:38:32 |
version 1.14, 2007/03/04 06:03:36 |
Line 177 mb_fixhdr(struct mbchain *mbp) |
|
Line 177 mb_fixhdr(struct mbchain *mbp) |
|
* Return pointer to the object placeholder or NULL if any error occurred. |
* Return pointer to the object placeholder or NULL if any error occurred. |
* Note: size should be <= MLEN |
* Note: size should be <= MLEN |
*/ |
*/ |
caddr_t |
void * |
mb_reserve(struct mbchain *mbp, int size) |
mb_reserve(struct mbchain *mbp, int size) |
{ |
{ |
struct mbuf *m, *mn; |
struct mbuf *m, *mn; |
caddr_t bpos; |
void *bpos; |
|
|
if (size > MLEN) |
if (size > MLEN) |
panic("mb_reserve: size = %d", size); |
panic("mb_reserve: size = %d", size); |
Line 197 mb_reserve(struct mbchain *mbp, int size |
|
Line 197 mb_reserve(struct mbchain *mbp, int size |
|
} |
} |
mbp->mb_mleft -= size; |
mbp->mb_mleft -= size; |
mbp->mb_count += size; |
mbp->mb_count += size; |
bpos = mtod(m, caddr_t) + m->m_len; |
bpos = mtod(m, char *) + m->m_len; |
m->m_len += size; |
m->m_len += size; |
return bpos; |
return bpos; |
} |
} |
Line 205 mb_reserve(struct mbchain *mbp, int size |
|
Line 205 mb_reserve(struct mbchain *mbp, int size |
|
int |
int |
mb_put_uint8(struct mbchain *mbp, u_int8_t x) |
mb_put_uint8(struct mbchain *mbp, u_int8_t x) |
{ |
{ |
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM); |
return mb_put_mem(mbp, (void *)&x, sizeof(x), MB_MSYSTEM); |
} |
} |
|
|
int |
int |
mb_put_uint16be(struct mbchain *mbp, u_int16_t x) |
mb_put_uint16be(struct mbchain *mbp, u_int16_t x) |
{ |
{ |
x = htobe16(x); |
x = htobe16(x); |
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM); |
return mb_put_mem(mbp, (void *)&x, sizeof(x), MB_MSYSTEM); |
} |
} |
|
|
int |
int |
mb_put_uint16le(struct mbchain *mbp, u_int16_t x) |
mb_put_uint16le(struct mbchain *mbp, u_int16_t x) |
{ |
{ |
x = htole16(x); |
x = htole16(x); |
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM); |
return mb_put_mem(mbp, (void *)&x, sizeof(x), MB_MSYSTEM); |
} |
} |
|
|
int |
int |
mb_put_uint32be(struct mbchain *mbp, u_int32_t x) |
mb_put_uint32be(struct mbchain *mbp, u_int32_t x) |
{ |
{ |
x = htobe32(x); |
x = htobe32(x); |
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM); |
return mb_put_mem(mbp, (void *)&x, sizeof(x), MB_MSYSTEM); |
} |
} |
|
|
int |
int |
mb_put_uint32le(struct mbchain *mbp, u_int32_t x) |
mb_put_uint32le(struct mbchain *mbp, u_int32_t x) |
{ |
{ |
x = htole32(x); |
x = htole32(x); |
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM); |
return mb_put_mem(mbp, (void *)&x, sizeof(x), MB_MSYSTEM); |
} |
} |
|
|
int |
int |
mb_put_int64be(struct mbchain *mbp, int64_t x) |
mb_put_int64be(struct mbchain *mbp, int64_t x) |
{ |
{ |
x = htobe64(x); |
x = htobe64(x); |
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM); |
return mb_put_mem(mbp, (void *)&x, sizeof(x), MB_MSYSTEM); |
} |
} |
|
|
int |
int |
mb_put_int64le(struct mbchain *mbp, int64_t x) |
mb_put_int64le(struct mbchain *mbp, int64_t x) |
{ |
{ |
x = htole64(x); |
x = htole64(x); |
return mb_put_mem(mbp, (caddr_t)&x, sizeof(x), MB_MSYSTEM); |
return mb_put_mem(mbp, (void *)&x, sizeof(x), MB_MSYSTEM); |
} |
} |
|
|
int |
int |
Line 273 mb_put_mem(struct mbchain *mbp, const ch |
|
Line 273 mb_put_mem(struct mbchain *mbp, const ch |
|
continue; |
continue; |
} |
} |
cplen = mleft > size ? size : mleft; |
cplen = mleft > size ? size : mleft; |
dst = mtod(m, caddr_t) + m->m_len; |
dst = mtod(m, char *) + m->m_len; |
switch (type) { |
switch (type) { |
case MB_MCUSTOM: |
case MB_MCUSTOM: |
error = mbp->mb_copy(mbp, source, dst, cplen); |
error = mbp->mb_copy(mbp, source, dst, cplen); |
Line 438 md_get_uint8(struct mdchain *mdp, u_int8 |
|
Line 438 md_get_uint8(struct mdchain *mdp, u_int8 |
|
int |
int |
md_get_uint16(struct mdchain *mdp, u_int16_t *x) |
md_get_uint16(struct mdchain *mdp, u_int16_t *x) |
{ |
{ |
return md_get_mem(mdp, (caddr_t)x, 2, MB_MINLINE); |
return md_get_mem(mdp, (void *)x, 2, MB_MINLINE); |
} |
} |
|
|
int |
int |
Line 463 md_get_uint16be(struct mdchain *mdp, u_i |
|
Line 463 md_get_uint16be(struct mdchain *mdp, u_i |
|
int |
int |
md_get_uint32(struct mdchain *mdp, u_int32_t *x) |
md_get_uint32(struct mdchain *mdp, u_int32_t *x) |
{ |
{ |
return md_get_mem(mdp, (caddr_t)x, 4, MB_MINLINE); |
return md_get_mem(mdp, (void *)x, 4, MB_MINLINE); |
} |
} |
|
|
int |
int |
Line 491 md_get_uint32le(struct mdchain *mdp, u_i |
|
Line 491 md_get_uint32le(struct mdchain *mdp, u_i |
|
int |
int |
md_get_int64(struct mdchain *mdp, int64_t *x) |
md_get_int64(struct mdchain *mdp, int64_t *x) |
{ |
{ |
return md_get_mem(mdp, (caddr_t)x, 8, MB_MINLINE); |
return md_get_mem(mdp, (void *)x, 8, MB_MINLINE); |
} |
} |
|
|
int |
int |
Line 517 md_get_int64le(struct mdchain *mdp, int6 |
|
Line 517 md_get_int64le(struct mdchain *mdp, int6 |
|
} |
} |
|
|
int |
int |
md_get_mem(struct mdchain *mdp, caddr_t target, int size, int type) |
md_get_mem(struct mdchain *mdp, void *targetv, int size, int type) |
{ |
{ |
|
char *target = targetv; |
struct mbuf *m = mdp->md_cur; |
struct mbuf *m = mdp->md_cur; |
int error; |
int error; |
u_int count; |
u_int count; |
Line 536 md_get_mem(struct mdchain *mdp, caddr_t |
|
Line 537 md_get_mem(struct mdchain *mdp, caddr_t |
|
if (count == 0) { |
if (count == 0) { |
mdp->md_cur = m = m->m_next; |
mdp->md_cur = m = m->m_next; |
if (m) |
if (m) |
s = mdp->md_pos = mtod(m, caddr_t); |
s = mdp->md_pos = mtod(m, void *); |
continue; |
continue; |
} |
} |
if (count > size) |
if (count > size) |