Lines Matching refs:barg

52 #define	RESET_MODULE(barg)	((barg)->gb_module[0] = 0)  argument
107 barg_bootfs_var(const grub_barg_t *barg, char *var, int sz) in barg_bootfs_var() argument
111 assert(barg); in barg_bootfs_var()
112 if (strcmp(barg->gb_root.gr_fstyp, MNTTYPE_ZFS) == 0) { in barg_bootfs_var()
115 barg->gb_root.gr_fs[GRBM_ZFS_BOOTFS].gfs_dev, in barg_bootfs_var()
116 barg->gb_root.gr_physpath); in barg_bootfs_var()
264 grub_barg_t *barg = (grub_barg_t *)data; in match_bootfs() local
268 strcmp(barg->gb_root.gr_fs[GRBM_ZFS_BOOTFS].gfs_dev, zfn) == 0); in match_bootfs()
271 barg->gb_walkret = 0; in match_bootfs()
273 (void) zfs_iter_filesystems(zfh, match_bootfs, barg); in match_bootfs()
276 return (barg->gb_walkret == 0); in match_bootfs()
280 reset_root(grub_barg_t *barg) in reset_root() argument
282 (void) memset(&barg->gb_root, 0, sizeof (barg->gb_root)); in reset_root()
283 barg->gb_bootsign[0] = 0; in reset_root()
284 barg->gb_kernel[0] = 0; in reset_root()
285 RESET_MODULE(barg); in reset_root()
290 skip_line(const grub_line_t *lp, grub_barg_t *barg) in skip_line() argument
297 error_line(const grub_line_t *lp, grub_barg_t *barg) in error_line() argument
305 kernel(const grub_line_t *lp, grub_barg_t *barg) in kernel() argument
307 RESET_MODULE(barg); in kernel()
308 if (strlcpy(barg->gb_kernel, lp->gl_arg, sizeof (barg->gb_kernel)) >= in kernel()
309 sizeof (barg->gb_kernel)) in kernel()
316 module(const grub_line_t *lp, grub_barg_t *barg) in module() argument
318 if (strlcpy(barg->gb_module, lp->gl_arg, sizeof (barg->gb_module)) >= in module()
319 sizeof (barg->gb_module)) in module()
326 dollar_kernel(const grub_line_t *lp, grub_barg_t *barg) in dollar_kernel() argument
333 RESET_MODULE(barg); in dollar_kernel()
334 if (strlcpy(barg->gb_kernel, lp->gl_arg, sizeof (barg->gb_kernel)) >= in dollar_kernel()
335 sizeof (barg->gb_kernel)) in dollar_kernel()
338 bfslen = barg_bootfs_var(barg, bootfs, sizeof (bootfs)); in dollar_kernel()
344 if ((ret = expand_var(barg->gb_kernel, sizeof (barg->gb_kernel), in dollar_kernel()
348 if ((ret = expand_var(barg->gb_kernel, sizeof (barg->gb_kernel), in dollar_kernel()
352 if (strcmp(barg->gb_root.gr_fstyp, MNTTYPE_ZFS) == 0) in dollar_kernel()
353 ret = update_bootpath(barg->gb_kernel, sizeof (barg->gb_kernel), in dollar_kernel()
354 barg->gb_root.gr_physpath); in dollar_kernel()
360 dollar_module(const grub_line_t *lp, grub_barg_t *barg) in dollar_module() argument
366 if (strlcpy(barg->gb_module, lp->gl_arg, sizeof (barg->gb_module)) >= in dollar_module()
367 sizeof (barg->gb_module)) in dollar_module()
374 ret = expand_var(barg->gb_module, sizeof (barg->gb_module), in dollar_module()
382 findroot(const grub_line_t *lp, grub_barg_t *barg) in findroot() argument
387 reset_root(barg); in findroot()
390 barg->gb_prtnum = (uint_t)PRTNUM_INVALID; in findroot()
391 barg->gb_slcnum = (uint_t)SLCNUM_WHOLE_DISK; in findroot()
401 if (!IS_PRTNUM_VALID(barg->gb_prtnum = pos[0] - '0')) in findroot()
410 !IS_SLCNUM_VALID(barg->gb_slcnum = pos[1]) || in findroot()
419 if (bsz + sz + 1 > sizeof (barg->gb_bootsign)) in findroot()
422 bcopy(BOOTSIGN_DIR "/", barg->gb_bootsign, bsz); in findroot()
423 bcopy(sign, barg->gb_bootsign + bsz, sz); in findroot()
424 barg->gb_bootsign [bsz + sz] = 0; in findroot()
426 return (grub_find_bootsign(barg)); in findroot()
430 bootfs(const grub_line_t *lp, grub_barg_t *barg) in bootfs() argument
433 grub_menu_t *mp = barg->gb_entry->ge_menu; in bootfs()
438 if (strcmp(barg->gb_root.gr_fstyp, MNTTYPE_ZFS) != 0) in bootfs()
441 gfs_devp = barg->gb_root.gr_fs[GRBM_ZFS_BOOTFS].gfs_dev; in bootfs()
442 gfs_dev_len = sizeof (barg->gb_root.gr_fs[GRBM_ZFS_BOOTFS].gfs_dev); in bootfs()
456 barg->gb_root.gr_fs[GRBM_ZFS_TOPFS].gfs_dev, in bootfs()
460 barg->gb_walkret = EG_UNKBOOTFS; in bootfs()
461 (void) zfs_iter_filesystems(zfh, match_bootfs, barg); in bootfs()
464 if (barg->gb_walkret == 0) in bootfs()
465 (void) grub_fsd_get_mountp(barg->gb_root.gr_fs + in bootfs()
468 return (barg->gb_walkret); in bootfs()