1.\" $OpenBSD: getdomainname.3,v 1.18 2000/12/24 00:30:48 aaron Exp $ 2.\" 3.\" Copyright (c) 1983, 1991, 1993 4.\" The Regents of the University of California. All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed by the University of 17.\" California, Berkeley and its contributors. 18.\" 4. Neither the name of the University nor the names of its contributors 19.\" may be used to endorse or promote products derived from this software 20.\" without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32.\" SUCH DAMAGE. 33.\" 34.Dd May 6, 1994 35.Dt GETDOMAINNAME 3 36.Os 37.Sh NAME 38.Nm getdomainname , 39.Nm setdomainname 40.Nd get/set YP domain name of current host 41.Sh SYNOPSIS 42.Fd #include <unistd.h> 43.Ft int 44.Fn getdomainname "char *name" "size_t namelen" 45.Ft int 46.Fn setdomainname "const char *name" "size_t namelen" 47.Sh DESCRIPTION 48The 49.Fn getdomainname 50function returns the YP domain name for the current processor, as 51previously set by 52.Fn setdomainname . 53The parameter 54.Fa namelen 55specifies the size of the 56.Fa name 57array. 58If insufficient space is provided, the returned name is truncated. 59The returned name is always null terminated. 60.Pp 61.Fn setdomainname 62sets the domain name of the host machine to be 63.Fa name , 64which has length 65.Fa namelen . 66This call is restricted to the superuser and 67is normally used only when the system is bootstrapped. 68.Sh RETURN VALUES 69If the call succeeds a value of 0 is returned. 70If the call fails, a value of \-1 is returned and an error code is 71placed in the global variable 72.Va errno . 73.Sh ERRORS 74The following errors may be returned by these calls: 75.Bl -tag -width Er 76.It Bq Er EFAULT 77The 78.Fa name 79or 80.Fa namelen 81parameter gave an 82invalid address. 83.It Bq Er EPERM 84The caller tried to set the domain name and was not the superuser. 85.El 86.Sh SEE ALSO 87.Xr domainname 1 , 88.Xr gethostid 3 , 89.Xr gethostname 3 , 90.Xr sysctl 3 , 91.Xr sysctl 8 , 92.Xr yp 8 93.Sh BUGS 94Domain names are limited to 95.Dv MAXHOSTNAMELEN 96(from 97.Ao Pa sys/param.h Ac ) 98characters, currently 256. 99This includes the terminating NUL character. 100.Pp 101If the buffer passed to 102.Fn getdomainname 103is too small, other operating systems may not guarantee termination with NUL. 104.Sh HISTORY 105The 106.Nm 107function call appeared in 108SunOS 3.x. 109