Lines Matching refs:p
75 void pktbuf_add_buffer(pktbuf_t *p, u8 *buf, u32 len, uint32_t header_sz, uint32_t flags, in pktbuf_add_buffer() argument
77 DEBUG_ASSERT(p); in pktbuf_add_buffer()
81 p->buffer = buf; in pktbuf_add_buffer()
82 p->blen = len; in pktbuf_add_buffer()
83 p->data = p->buffer + header_sz; in pktbuf_add_buffer()
84 p->dlen = 0; in pktbuf_add_buffer()
85 p->flags = PKTBUF_FLAG_EOF | flags; in pktbuf_add_buffer()
86 p->cb = cb; in pktbuf_add_buffer()
87 p->cb_args = cb_args; in pktbuf_add_buffer()
94 p->phys_base = vaddr_to_paddr(buf) | (uintptr_t) buf % PAGE_SIZE; in pktbuf_add_buffer()
96 p->phys_base = (uintptr_t) buf; in pktbuf_add_buffer()
101 pktbuf_t *p = NULL; in pktbuf_alloc() local
104 p = get_pool_object(); in pktbuf_alloc()
105 if (!p) { in pktbuf_alloc()
111 free_pool_object((pktbuf_pool_object_t *)p, false); in pktbuf_alloc()
115 memset(p, 0, sizeof(pktbuf_t)); in pktbuf_alloc()
116 pktbuf_add_buffer(p, buf, PKTBUF_SIZE, PKTBUF_MAX_HDR, 0, free_pktbuf_buf_cb, NULL); in pktbuf_alloc()
117 return p; in pktbuf_alloc()
121 pktbuf_t *p = (pktbuf_t *) get_pool_object(); in pktbuf_alloc_empty() local
123 p->flags = PKTBUF_FLAG_EOF; in pktbuf_alloc_empty()
124 return p; in pktbuf_alloc_empty()
127 int pktbuf_free(pktbuf_t *p, bool reschedule) { in pktbuf_free() argument
128 DEBUG_ASSERT(p); in pktbuf_free()
130 if (p->cb) { in pktbuf_free()
131 p->cb(p->buffer, p->cb_args); in pktbuf_free()
133 free_pool_object((pktbuf_pool_object_t *)p, false); in pktbuf_free()
138 void pktbuf_append_data(pktbuf_t *p, const void *data, size_t sz) { in pktbuf_append_data() argument
139 if (pktbuf_avail_tail(p) < sz) { in pktbuf_append_data()
143 memcpy(p->data + p->dlen, data, sz); in pktbuf_append_data()
144 p->dlen += sz; in pktbuf_append_data()
147 void *pktbuf_append(pktbuf_t *p, size_t sz) { in pktbuf_append() argument
148 if (pktbuf_avail_tail(p) < sz) { in pktbuf_append()
152 void *data = p->data + p->dlen; in pktbuf_append()
153 p->dlen += sz; in pktbuf_append()
158 void *pktbuf_prepend(pktbuf_t *p, size_t sz) { in pktbuf_prepend() argument
159 if (pktbuf_avail_head(p) < sz) { in pktbuf_prepend()
163 p->dlen += sz; in pktbuf_prepend()
164 p->data -= sz; in pktbuf_prepend()
166 return p->data; in pktbuf_prepend()
169 void *pktbuf_consume(pktbuf_t *p, size_t sz) { in pktbuf_consume() argument
170 void *data = p->data; in pktbuf_consume()
172 if (sz > p->dlen) { in pktbuf_consume()
176 p->data += sz; in pktbuf_consume()
177 p->dlen -= sz; in pktbuf_consume()
182 void pktbuf_consume_tail(pktbuf_t *p, size_t sz) { in pktbuf_consume_tail() argument
183 if (sz > p->dlen) { in pktbuf_consume_tail()
184 p->dlen = 0; in pktbuf_consume_tail()
188 p->dlen -= sz; in pktbuf_consume_tail()
191 void pktbuf_dump(pktbuf_t *p) { in pktbuf_dump() argument
193 p->data, p->buffer, p->dlen, (uintptr_t) p->data - (uintptr_t) p->buffer, in pktbuf_dump()
194 (void *)p->phys_base); in pktbuf_dump()