Lines Matching defs:pb
251 struct pathbuf *pb;
253 pb = kmem_alloc(sizeof(*pb), KM_SLEEP);
254 pb->pb_path = PNBUF_GET();
255 if (pb->pb_path == NULL) {
256 kmem_free(pb, sizeof(*pb));
259 pb->pb_pathcopy = NULL;
260 pb->pb_pathcopyuses = 0;
261 return pb;
265 pathbuf_destroy(struct pathbuf *pb)
268 KASSERT(pb->pb_pathcopyuses == 0);
269 KASSERT(pb->pb_pathcopy == NULL);
270 PNBUF_PUT(pb->pb_path);
271 kmem_free(pb, sizeof(*pb));
277 struct pathbuf *pb;
279 pb = kmem_alloc(sizeof(*pb), KM_SLEEP);
280 pb->pb_path = pnbuf;
281 pb->pb_pathcopy = NULL;
282 pb->pb_pathcopyuses = 0;
283 return pb;
289 struct pathbuf *pb;
292 pb = pathbuf_create_raw();
293 if (pb == NULL) {
296 error = copystr(path, pb->pb_path, PATH_MAX, NULL);
300 pb->pb_path[PATH_MAX-1] = '\0';
302 return pb;
308 struct pathbuf *pb;
311 pb = pathbuf_create_raw();
312 if (pb == NULL) {
315 error = copyinstr(userpath, pb->pb_path, PATH_MAX, NULL);
317 pathbuf_destroy(pb);
320 *ret = pb;
350 pathbuf_copystring(const struct pathbuf *pb, char *buf, size_t maxlen)
353 strlcpy(buf, pb->pb_path, maxlen);
363 pathbuf_stringcopy_get(struct pathbuf *pb)
366 if (pb->pb_pathcopyuses == 0) {
367 pb->pb_pathcopy = PNBUF_GET();
368 strcpy(pb->pb_pathcopy, pb->pb_path);
370 pb->pb_pathcopyuses++;
371 return pb->pb_pathcopy;
375 pathbuf_stringcopy_put(struct pathbuf *pb, const char *str)
378 KASSERT(str == pb->pb_pathcopy);
379 KASSERT(pb->pb_pathcopyuses > 0);
380 pb->pb_pathcopyuses--;
381 if (pb->pb_pathcopyuses == 0) {
382 PNBUF_PUT(pb->pb_pathcopy);
383 pb->pb_pathcopy = NULL;
2290 nameiat_simple(struct vnode *dvp, struct pathbuf *pb,
2296 NDINIT(&nd, LOOKUP, namei_simple_convert_flags(sflags), pb);
2313 struct pathbuf *pb;
2316 pb = pathbuf_create(path);
2317 if (pb == NULL)
2320 error = nameiat_simple(dvp, pb, sflags, vp_ret);
2322 pathbuf_destroy(pb);
2338 struct pathbuf *pb;
2341 error = pathbuf_copyin(path, &pb);
2345 error = nameiat_simple(dvp, pb, sflags, vp_ret);
2347 pathbuf_destroy(pb);