1.\" $NetBSD: getfsspecname.3,v 1.7 2018/12/28 18:44:11 alnsn Exp $ 2.\" 3.\" Copyright (c) 2012 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Christos Zoulas. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.\" 31.Dd December 28, 2018 32.Dt GETFSSPECNAME 3 33.Os 34.Sh NAME 35.Nm getfsspecname 36.Nd get the underlying wedge name from a label 37.Sh LIBRARY 38.Lb libutil 39.Sh SYNOPSIS 40.In util.h 41.Ft const char * 42.Fn getfsspecname "char *buf" "size_t buflen" "const char *spec" 43.Sh DESCRIPTION 44The 45.Fn getfsspecname 46function translates an 47.Ft fs_spec 48field in the 49.Fa spec 50argument of the form 51.Dq NAME=wedgename 52to the underlying 53.Xr dk 4 54device node, and places the resulting pathname in 55.Fa buf 56up to len 57.Fa buflen . 58.Pp 59If the 60.Fa spec 61argument starts with 62.Dq ROOT. , 63a path in the form 64.Dq /dev/[root_device][suffix] 65is copied to 66.Fa buf , 67where 68.Bq root_device 69is the value of the 70.Dq kern.root_device 71sysctl and 72.Bq suffix 73is the characters following 74.Dq ROOT. 75in the 76.Fa spec 77argument. 78.Pp 79If the 80.Fa spec 81argument is not of the form 82.Dq NAME=wedgename 83and it doesn't start with 84.Dq ROOT. , 85.Fa spec 86is copied 87to 88.Fa buf 89and returned. 90.Sh RETURN VALUES 91On success the absolute pathname of the underlying wedge device is returned, 92or the original 93.Fa spec 94argument. 95On failure 96.Dv NULL 97is returned and 98.Fa buf 99contains the reason for the error. 100.Sh SEE ALSO 101.Xr fstab 5 102.Sh HISTORY 103The 104.Fn getfsspecname 105function appeared in 106.Nx 7.0 . 107