19f0c4e12SRobert Garrett.\" $NetBSD: nsswitch.conf.5,v 1.14 1999/03/17 20:19:47 garbled Exp $ 29f0c4e12SRobert Garrett.\" 39f0c4e12SRobert Garrett.\" Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. 49f0c4e12SRobert Garrett.\" All rights reserved. 59f0c4e12SRobert Garrett.\" 69f0c4e12SRobert Garrett.\" This code is derived from software contributed to The NetBSD Foundation 79f0c4e12SRobert Garrett.\" by Luke Mewburn. 89f0c4e12SRobert Garrett.\" 99f0c4e12SRobert Garrett.\" Redistribution and use in source and binary forms, with or without 109f0c4e12SRobert Garrett.\" modification, are permitted provided that the following conditions 119f0c4e12SRobert Garrett.\" are met: 129f0c4e12SRobert Garrett.\" 1. Redistributions of source code must retain the above copyright 139f0c4e12SRobert Garrett.\" notice, this list of conditions and the following disclaimer. 149f0c4e12SRobert Garrett.\" 2. Redistributions in binary form must reproduce the above copyright 159f0c4e12SRobert Garrett.\" notice, this list of conditions and the following disclaimer in the 169f0c4e12SRobert Garrett.\" documentation and/or other materials provided with the distribution. 179f0c4e12SRobert Garrett.\" 3. All advertising materials mentioning features or use of this software 189f0c4e12SRobert Garrett.\" must display the following acknowledgement: 199f0c4e12SRobert Garrett.\" This product includes software developed by Luke Mewburn. 209f0c4e12SRobert Garrett.\" 4. The name of the author may not be used to endorse or promote products 219f0c4e12SRobert Garrett.\" derived from this software without specific prior written permission. 229f0c4e12SRobert Garrett.\" 239f0c4e12SRobert Garrett.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 249f0c4e12SRobert Garrett.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 259f0c4e12SRobert Garrett.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 269f0c4e12SRobert Garrett.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 279f0c4e12SRobert Garrett.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 289f0c4e12SRobert Garrett.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 299f0c4e12SRobert Garrett.\" OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 309f0c4e12SRobert Garrett.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 319f0c4e12SRobert Garrett.\" TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 329f0c4e12SRobert Garrett.\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 339f0c4e12SRobert Garrett.\" 34ed5d5720SPeter Avalos.\" $FreeBSD: src/share/man/man5/nsswitch.conf.5,v 1.18 2007/10/19 00:16:29 bushman Exp $ 35ed5d5720SPeter Avalos.\" 36ed5d5720SPeter Avalos.Dd January 22, 2007 379f0c4e12SRobert Garrett.Dt NSSWITCH.CONF 5 389f0c4e12SRobert Garrett.Os 399f0c4e12SRobert Garrett.Sh NAME 409f0c4e12SRobert Garrett.Nm nsswitch.conf 419f0c4e12SRobert Garrett.Nd name-service switch configuration file 429f0c4e12SRobert Garrett.Sh DESCRIPTION 439f0c4e12SRobert GarrettThe 449f0c4e12SRobert Garrett.Nm 459f0c4e12SRobert Garrettfile specifies how the 469f0c4e12SRobert Garrett.Xr nsdispatch 3 479f0c4e12SRobert Garrett(name-service switch dispatcher) routines in the C library should operate. 489f0c4e12SRobert Garrett.Pp 499f0c4e12SRobert GarrettThe configuration file controls how a process looks up various databases 509f0c4e12SRobert Garrettcontaining information regarding hosts, users (passwords), groups, etc. 51ed5d5720SPeter AvalosEach database comes from a source (such as local files, DNS, 52ed5d5720SPeter Avalos.Tn NIS , 53ed5d5720SPeter Avalosand cache), and the order to look up the sources is specified in 549f0c4e12SRobert Garrett.Nm . 559f0c4e12SRobert Garrett.Pp 569f0c4e12SRobert GarrettEach entry in 579f0c4e12SRobert Garrett.Nm 589f0c4e12SRobert Garrettconsists of a database name, and a space separated list of sources. 599f0c4e12SRobert GarrettEach source can have an optional trailing criterion that determines 609f0c4e12SRobert Garrettwhether the next listed source is used, or the search terminates at 619f0c4e12SRobert Garrettthe current source. 629f0c4e12SRobert GarrettEach criterion consists of one or more status codes, and actions to 639f0c4e12SRobert Garretttake if that status code occurs. 649f0c4e12SRobert Garrett.Ss Sources 659f0c4e12SRobert GarrettThe following sources are implemented: 669f0c4e12SRobert Garrett.Pp 679f0c4e12SRobert Garrett.Bl -tag -width Source -compact 689f0c4e12SRobert Garrett.It Sy Source 699f0c4e12SRobert Garrett.Sy Description 709f0c4e12SRobert Garrett.It files 719f0c4e12SRobert GarrettLocal files, such as 729f0c4e12SRobert Garrett.Pa /etc/hosts , 739f0c4e12SRobert Garrettand 749f0c4e12SRobert Garrett.Pa /etc/passwd . 759f0c4e12SRobert Garrett.It dns 769f0c4e12SRobert GarrettInternet Domain Name System. 779f0c4e12SRobert Garrett.Dq hosts 789f0c4e12SRobert Garrettand 799f0c4e12SRobert Garrett.Sq networks 809f0c4e12SRobert Garrettuse 819f0c4e12SRobert Garrett.Sy IN 829f0c4e12SRobert Garrettclass entries, all other databases use 839f0c4e12SRobert Garrett.Sy HS 849f0c4e12SRobert Garrettclass (Hesiod) entries. 859f0c4e12SRobert Garrett.It nis 869f0c4e12SRobert GarrettNIS (formerly YP) 879f0c4e12SRobert Garrett.It compat 889f0c4e12SRobert Garrettsupport 899f0c4e12SRobert Garrett.Sq +/- 909f0c4e12SRobert Garrettin the 919f0c4e12SRobert Garrett.Dq passwd 929f0c4e12SRobert Garrettand 939f0c4e12SRobert Garrett.Dq group 949f0c4e12SRobert Garrettdatabases. 959f0c4e12SRobert GarrettIf this is present, it must be the only source for that entry. 96ed5d5720SPeter Avalos.It cache 97ed5d5720SPeter Avalosmakes use of the 98ed5d5720SPeter Avalos.Xr nscd 8 99ed5d5720SPeter Avalosdaemon. 1009f0c4e12SRobert Garrett.El 1019f0c4e12SRobert Garrett.Ss Databases 1029f0c4e12SRobert GarrettThe following databases are used by the following C library functions: 1039f0c4e12SRobert Garrett.Pp 1049f0c4e12SRobert Garrett.Bl -tag -width networks -compact 1059f0c4e12SRobert Garrett.It Sy Database 1069f0c4e12SRobert Garrett.Sy "Used by" 1079f0c4e12SRobert Garrett.It group 108ed5d5720SPeter Avalos.Xr getgrent 3 , 109ed5d5720SPeter Avalos.Xr getgrent_r 3 , 110ed5d5720SPeter Avalos.Xr getgrgid_r 3 , 111ed5d5720SPeter Avalos.Xr getgrnam_r 3 , 112ed5d5720SPeter Avalos.Xr setgrent 3 , 113ed5d5720SPeter Avalos.Xr endgrent 3 1149f0c4e12SRobert Garrett.It hosts 115ed5d5720SPeter Avalos.Xr getaddrinfo 3 , 116ed5d5720SPeter Avalos.Xr gethostbyaddr 3 , 117ed5d5720SPeter Avalos.Xr gethostbyaddr_r 3 , 118ed5d5720SPeter Avalos.Xr gethostbyname 3 , 119ed5d5720SPeter Avalos.Xr gethostbyname2 3 , 120ed5d5720SPeter Avalos.Xr gethostbyname_r 3 , 121ed5d5720SPeter Avalos.Xr getipnodebyaddr 3 , 122ed5d5720SPeter Avalos.Xr getipnodebyname 3 1239f0c4e12SRobert Garrett.It networks 124ed5d5720SPeter Avalos.Xr getnetbyaddr 3 , 125ed5d5720SPeter Avalos.Xr getnetbyaddr_r 3 , 126ed5d5720SPeter Avalos.Xr getnetbyname 3 , 127ed5d5720SPeter Avalos.Xr getnetbyname_r 3 1289f0c4e12SRobert Garrett.It passwd 129ed5d5720SPeter Avalos.Xr getpwent 3 , 130ed5d5720SPeter Avalos.Xr getpwent_r 3 , 131ed5d5720SPeter Avalos.Xr getpwnam_r 3 , 132ed5d5720SPeter Avalos.Xr getpwuid_r 3 , 133ed5d5720SPeter Avalos.Xr setpwent 3 , 134ed5d5720SPeter Avalos.Xr endpwent 3 1359f0c4e12SRobert Garrett.It shells 1369f0c4e12SRobert Garrett.Xr getusershell 3 137ed5d5720SPeter Avalos.It services 138ed5d5720SPeter Avalos.Xr getservent 3 139ed5d5720SPeter Avalos.It rpc 140ed5d5720SPeter Avalos.Xr getrpcbyname 3 , 141ed5d5720SPeter Avalos.Xr getrpcbynumber 3 , 142ed5d5720SPeter Avalos.Xr getrpcent 3 143ed5d5720SPeter Avalos.It proto 144ed5d5720SPeter Avalos.Xr getprotobyname 3 145ed5d5720SPeter Avalos.Xr getprotobynumber 3 , 146ed5d5720SPeter Avalos.Xr getprotoent 3 1479f0c4e12SRobert Garrett.El 1489f0c4e12SRobert Garrett.Ss Status codes 1499f0c4e12SRobert GarrettThe following status codes are available: 1509f0c4e12SRobert Garrett.Pp 1519f0c4e12SRobert Garrett.Bl -tag -width tryagain -compact 1529f0c4e12SRobert Garrett.It Sy Status 1539f0c4e12SRobert Garrett.Sy Description 1549f0c4e12SRobert Garrett.It success 1559f0c4e12SRobert GarrettThe requested entry was found. 1569f0c4e12SRobert Garrett.It notfound 1579f0c4e12SRobert GarrettThe entry is not present at this source. 1589f0c4e12SRobert Garrett.It tryagain 1599f0c4e12SRobert GarrettThe source is busy, and may respond to retries. 1609f0c4e12SRobert Garrett.It unavail 1619f0c4e12SRobert GarrettThe source is not responding, or entry is corrupt. 1629f0c4e12SRobert Garrett.El 1639f0c4e12SRobert Garrett.Ss Actions 1649f0c4e12SRobert GarrettFor each of the status codes, one of two actions is possible: 1659f0c4e12SRobert Garrett.Pp 1669f0c4e12SRobert Garrett.Bl -tag -width continue -compact 1679f0c4e12SRobert Garrett.It Sy Action 1689f0c4e12SRobert Garrett.Sy Description 1699f0c4e12SRobert Garrett.It continue 1709f0c4e12SRobert GarrettTry the next source 1719f0c4e12SRobert Garrett.It return 1729f0c4e12SRobert GarrettReturn with the current result 1739f0c4e12SRobert Garrett.El 1749f0c4e12SRobert Garrett.Ss Format of file 1759f0c4e12SRobert GarrettA 1769f0c4e12SRobert Garrett.Tn BNF 1779f0c4e12SRobert Garrettdescription of the syntax of 1789f0c4e12SRobert Garrett.Nm 1799f0c4e12SRobert Garrettis: 1809f0c4e12SRobert Garrett.Pp 1819f0c4e12SRobert Garrett.Bl -tag -width <criterion> -compact 1829f0c4e12SRobert Garrett.It <entry> 1839f0c4e12SRobert Garrett::= 1849f0c4e12SRobert Garrett<database> ":" [<source> [<criteria>]]* 1859f0c4e12SRobert Garrett.It <criteria> 1869f0c4e12SRobert Garrett::= 1879f0c4e12SRobert Garrett"[" <criterion>+ "]" 1889f0c4e12SRobert Garrett.It <criterion> 1899f0c4e12SRobert Garrett::= 1909f0c4e12SRobert Garrett<status> "=" <action> 1919f0c4e12SRobert Garrett.It <status> 1929f0c4e12SRobert Garrett::= 1939f0c4e12SRobert Garrett"success" | "notfound" | "unavail" | "tryagain" 1949f0c4e12SRobert Garrett.It <action> 1959f0c4e12SRobert Garrett::= 1969f0c4e12SRobert Garrett"return" | "continue" 1979f0c4e12SRobert Garrett.El 1989f0c4e12SRobert Garrett.Pp 1999f0c4e12SRobert GarrettEach entry starts on a new line in the file. 2009f0c4e12SRobert GarrettA 2019f0c4e12SRobert Garrett.Sq # 2029f0c4e12SRobert Garrettdelimits a comment to end of line. 2039f0c4e12SRobert GarrettBlank lines are ignored. 2049f0c4e12SRobert GarrettA 2059f0c4e12SRobert Garrett.Sq \e 2069f0c4e12SRobert Garrettat the end of a line escapes the newline, and causes the next line to 2079f0c4e12SRobert Garrettbe a continuation of the current line. 2089f0c4e12SRobert GarrettAll entries are case-insensitive. 2099f0c4e12SRobert Garrett.Pp 210*dda92f98SSascha WildnerThe default criteria are to return on 2119f0c4e12SRobert Garrett.Dq success , 2129f0c4e12SRobert Garrettand continue on anything else (i.e, 2139f0c4e12SRobert Garrett.Li "[success=return notfound=continue unavail=continue tryagain=continue]" ) . 214ed5d5720SPeter Avalos.Ss Cache 215ed5d5720SPeter AvalosYou can enable caching for the particular database by specifying 216ed5d5720SPeter Avalos.Dq cache 217ed5d5720SPeter Avalosas the first source in the 218265a1428SSascha Wildner.Nm 219ed5d5720SPeter Avalosfile. 220ed5d5720SPeter AvalosYou should also enable caching for this database in 221ed5d5720SPeter Avalos.Xr nscd.conf 5 . 222ed5d5720SPeter AvalosIf for the particular query 223ed5d5720SPeter Avalos.Dq cache 224ed5d5720SPeter Avalossource returns success, no further sources are queried. 225ed5d5720SPeter AvalosOn the other hand, if there are no previously cached data, the 226ed5d5720SPeter Avalosquery result will be placed into the cache right after 227ed5d5720SPeter Avalosall other sources are processed. 228ed5d5720SPeter AvalosNote, that 229ed5d5720SPeter Avalos.Dq cache 230ed5d5720SPeter Avalosrequires 231ed5d5720SPeter Avalos.Xr nscd 8 232ed5d5720SPeter Avalosdaemon to be running. 2339f0c4e12SRobert Garrett.Ss Compat mode: +/- syntax 2349f0c4e12SRobert GarrettIn historical multi-source implementations, the 2359f0c4e12SRobert Garrett.Sq + 2369f0c4e12SRobert Garrettand 2379f0c4e12SRobert Garrett.Sq - 2389f0c4e12SRobert Garrettcharacters are used to specify the importing of user password and 2399f0c4e12SRobert Garrettgroup information from 2409f0c4e12SRobert Garrett.Tn NIS . 2419f0c4e12SRobert GarrettAlthough 2429f0c4e12SRobert Garrett.Nm 2439f0c4e12SRobert Garrettprovides alternative methods of accessing distributed sources such as 2449f0c4e12SRobert Garrett.Tn NIS , 2459f0c4e12SRobert Garrettspecifying a sole source of 2469f0c4e12SRobert Garrett.Dq compat 2479f0c4e12SRobert Garrettwill provide the historical behaviour. 2489f0c4e12SRobert Garrett.Pp 2499f0c4e12SRobert GarrettAn alternative source for the information accessed via 2509f0c4e12SRobert Garrett.Sq +/- 2519f0c4e12SRobert Garrettcan be used by specifying 2529f0c4e12SRobert Garrett.Dq passwd_compat: source . 2539f0c4e12SRobert Garrett.Dq source 2549f0c4e12SRobert Garrettin this case can be 2559f0c4e12SRobert Garrett.Sq dns , 2569f0c4e12SRobert Garrett.Sq nis , 2579f0c4e12SRobert Garrettor 2589f0c4e12SRobert Garrettany other source except for 2599f0c4e12SRobert Garrett.Sq files 2609f0c4e12SRobert Garrettand 2619f0c4e12SRobert Garrett.Sq compat . 2629f0c4e12SRobert Garrett.Ss Notes 2639f0c4e12SRobert GarrettHistorically, many of the databases had enumeration functions, often of 2649f0c4e12SRobert Garrettthe form 2659f0c4e12SRobert Garrett.Fn getXXXent . 266ed5d5720SPeter AvalosThese made sense when the databases were in local files, but do not make 2679f0c4e12SRobert Garrettsense or have lesser relevance when there are possibly multiple sources, 2689f0c4e12SRobert Garretteach of an unknown size. 2699f0c4e12SRobert GarrettThe interfaces are still provided for compatibility, but the source 2709f0c4e12SRobert Garrettmay not be able to provide complete entries, or duplicate entries may 2719f0c4e12SRobert Garrettbe retrieved if multiple sources that contain similar information are 2729f0c4e12SRobert Garrettspecified. 2739f0c4e12SRobert Garrett.Pp 2749f0c4e12SRobert GarrettTo ensure compatibility with previous and current implementations, the 2759f0c4e12SRobert Garrett.Dq compat 2769f0c4e12SRobert Garrettsource must appear alone for a given database. 2779f0c4e12SRobert Garrett.Ss Default source lists 2789f0c4e12SRobert GarrettIf, for any reason, 2799f0c4e12SRobert Garrett.Nm 280ed5d5720SPeter Avalosdoes not exist, or it has missing or corrupt entries, 2819f0c4e12SRobert Garrett.Xr nsdispatch 3 2829f0c4e12SRobert Garrettwill default to an entry of 2839f0c4e12SRobert Garrett.Dq files 2849f0c4e12SRobert Garrettfor the requested database. 2859f0c4e12SRobert GarrettExceptions are: 2869f0c4e12SRobert Garrett.Pp 287ed5d5720SPeter Avalos.Bl -tag -width services_compat -compact 2889f0c4e12SRobert Garrett.It Sy Database 2899f0c4e12SRobert Garrett.Sy "Default source list" 2909f0c4e12SRobert Garrett.It group 2919f0c4e12SRobert Garrettcompat 2929f0c4e12SRobert Garrett.It group_compat 2939f0c4e12SRobert Garrettnis 2949f0c4e12SRobert Garrett.It hosts 295ed5d5720SPeter Avalosfiles dns 2969f0c4e12SRobert Garrett.It passwd 2979f0c4e12SRobert Garrettcompat 2989f0c4e12SRobert Garrett.It passwd_compat 2999f0c4e12SRobert Garrettnis 300ed5d5720SPeter Avalos.It services 301ed5d5720SPeter Avaloscompat 302ed5d5720SPeter Avalos.It services_compat 303ed5d5720SPeter Avalosnis 3049f0c4e12SRobert Garrett.El 3059f0c4e12SRobert Garrett.Sh FILES 3069f0c4e12SRobert Garrett.Bl -tag -width /etc/nsswitch.conf -compact 3079f0c4e12SRobert Garrett.It Pa /etc/nsswitch.conf 3089f0c4e12SRobert GarrettThe file 3099f0c4e12SRobert Garrett.Nm 3109f0c4e12SRobert Garrettresides in 3119f0c4e12SRobert Garrett.Pa /etc . 3129f0c4e12SRobert Garrett.El 3139f0c4e12SRobert Garrett.Sh EXAMPLES 314ed5d5720SPeter AvalosTo lookup hosts in cache, then in 3159f0c4e12SRobert Garrett.Pa /etc/hosts 3169f0c4e12SRobert Garrettand then from the DNS, and lookup user information from 3179f0c4e12SRobert Garrett.Tn NIS 3189f0c4e12SRobert Garrettthen files, use: 3199f0c4e12SRobert Garrett.Pp 3209f0c4e12SRobert Garrett.Bl -tag -width passwd: -compact 3219f0c4e12SRobert Garrett.It hosts: 322ed5d5720SPeter Avaloscache files dns 3239f0c4e12SRobert Garrett.It passwd: 3249f0c4e12SRobert Garrettnis [notfound=return] files 3259f0c4e12SRobert Garrett.It group: 3269f0c4e12SRobert Garrettnis [notfound=return] files 3279f0c4e12SRobert Garrett.El 3289f0c4e12SRobert Garrett.Pp 3299f0c4e12SRobert GarrettThe criteria 3309f0c4e12SRobert Garrett.Dq [notfound=return] 331ed5d5720SPeter Avalossets a policy of "if the user is notfound in nis, do not try files." 3329f0c4e12SRobert GarrettThis treats nis as the authoritative source of information, except 3339f0c4e12SRobert Garrettwhen the server is down. 334ed5d5720SPeter Avalos.Sh NOTES 335ed5d5720SPeter AvalosIf system got compiled with 336ed5d5720SPeter Avalos.Va WITHOUT_NIS 337ed5d5720SPeter Avalosyou have to remove 338ed5d5720SPeter Avalos.Sq nis 339ed5d5720SPeter Avalosentries. 340ed5d5720SPeter Avalos.Pp 341ed5d5720SPeter Avalos.Dx Ns 's 342ed5d5720SPeter Avalos.Lb libc 343ed5d5720SPeter Avalosprovides stubs for compatibility with NSS modules 344ed5d5720SPeter Avaloswritten for the 345ed5d5720SPeter Avalos.Tn GNU 346ed5d5720SPeter AvalosC Library 347ed5d5720SPeter Avalos.Nm nsswitch 348ed5d5720SPeter Avalosinterface. 349ed5d5720SPeter AvalosHowever, these stubs only support the use of the 350ed5d5720SPeter Avalos.Dq Li passwd 351ed5d5720SPeter Avalosand 352ed5d5720SPeter Avalos.Dq Li group 353ed5d5720SPeter Avalosdatabases. 3549f0c4e12SRobert Garrett.Sh SEE ALSO 3559f0c4e12SRobert Garrett.Xr nsdispatch 3 , 356ed5d5720SPeter Avalos.Xr nscd.conf 5 , 3579f0c4e12SRobert Garrett.Xr resolv.conf 5 , 3589f0c4e12SRobert Garrett.Xr named 8 , 359666855caSSascha Wildner.Xr nscd 8 , 3609f0c4e12SRobert Garrett.Xr ypbind 8 3619f0c4e12SRobert Garrett.Sh HISTORY 3629f0c4e12SRobert GarrettThe 3639f0c4e12SRobert Garrett.Nm 3649f0c4e12SRobert Garrettfile format first appeared in 365ed5d5720SPeter Avalos.Dx 2.1 . 3669f0c4e12SRobert GarrettIt was imported from the 367ed5d5720SPeter Avalos.Fx 3689f0c4e12SRobert GarrettProject, where it appeared first in 369ed5d5720SPeter Avalos.Fx 5.0 . 3709f0c4e12SRobert Garrett.Sh AUTHORS 371c616d378SFranco Fichtner.An Luke Mewburn Aq Mt lukem@netbsd.org 3729f0c4e12SRobert Garrettwrote this freely distributable name-service switch implementation, 3739f0c4e12SRobert Garrettusing ideas from the 3749f0c4e12SRobert Garrett.Tn ULTRIX 3759f0c4e12SRobert Garrett.Xr svc.conf 5 3769f0c4e12SRobert Garrettand 3779f0c4e12SRobert Garrett.Tn Solaris 3789f0c4e12SRobert Garrett.Xr nsswitch.conf 4 3799f0c4e12SRobert Garrettmanual pages. 380